1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/caogos-OpenLoongsonLib1c

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

龙芯1c库

Это библиотека, которая инкапсулирует различные операции с устройствами и может быть полезна для разработки программного обеспечения. Она похожа на библиотеку STM32.

Библиотека постоянно совершенствуется.

[Двойной щелчок по ссылке] (https://gitee.com/caogos/OpenLoongsonLib1b) приведёт вас к библиотеке «龙芯 1B». Библиотеки «龙芯 1C» и «龙芯 1B» могут дополнять друг друга.

Зачем это нужно?

В настоящее время Loongson 1C может работать под управлением Linux и RT-Thread, но многие пользователи Loongson сталкиваются с трудностями при использовании этих операционных систем, поскольку они не знакомы с ними.

Я считаю, что Linux и системы реального времени, такие как RT-Thread, являются продвинутыми приложениями, которые будут использоваться в продуктах. Многие студенты, возможно, ещё не знакомы с языком C, и просить их изучить Linux или исходный код RT-Thread может быть слишком сложно.

Возвращаясь к основам, программирование на голом железе является наиболее подходящим. Чтобы снизить порог входа, различные устройства были объединены в библиотеку Loongson 1C. Хотя изначально она была предназначена для начинающих, эта библиотека может использоваться не только для программирования на голом железе, но и для различных систем реального времени.

Перспективы

Мы планируем продвигать Loongson 1C, сделав его открытым исходным кодом. Это позволит сосредоточиться на маркетинге и оптимизации пользовательского опыта, а не на технических проблемах.

На самом деле, минимальная система платы и библиотека Loongson 1C похожи. Библиотека Loongson 1C необходима каждому программному обеспечению, а минимальная система платы — каждой плате. Они являются основой аппаратного и программного обеспечения Loongson, необходимого для каждого проекта. Открыв исходный код, мы сможем избежать дублирования работы.

Минимальная система платы для программирования на голом железе (Loongson 1C)

Почему мы продвигаем минимальную систему платы с открытым исходным кодом

Изначально идея заключалась в том, чтобы создать библиотеку Loongson 1C на основе STM32 и сделать её открытой. По мере того как библиотека Loongson 1C продолжает совершенствоваться, проблемы с распространением больше не связаны с программным обеспечением, а с аппаратным обеспечением.

Первоначальная идея заключается в том, чтобы полностью открыть принципиальные схемы и печатные платы минимальной системы платы, подобно другим популярным открытым аппаратным средствам, обеспечивая истинное значение открытости. Любой желающий может бесплатно загрузить принципиальные схемы и файлы печатных плат, изменять их и использовать для создания печатных плат. Это снижает сложность создания плат и стоимость.

Почему здесь основное внимание уделяется минимальной системе платы для программирования на голом железе

Loongson 1C имеет широкий спектр применения, включая программирование на голом железе, работу с системами реального времени и Linux, даже Debian. Здесь основное внимание уделяется минимальной системе платы для программирования на голом железе.

В настоящее время (январь 2018 года) на рынке нет специально разработанных минимальных систем платы для программирования на голом железе. Программирование на голом железе — это отличный способ начать, и Loongson 1C предлагает привлекательную цену.

Минимальная система платы может помочь снизить стоимость и сложность создания собственных плат для Loongson 1C. Мы надеемся изменить представление о Loongson и сделать его доступным для широкой аудитории, позволяя людям создавать свои собственные платы.

Происхождение названия «Белая капуста»

Чтобы изменить восприятие Loongson среди широкой публики и облегчить продвижение на массовом рынке, было выбрано название «Белая капуста», которое отражает простоту и доступность.

Цена «Белой капусты»

После размышлений я предложил цену в 99 юаней. Эта цена является ориентировочной и может измениться.

Основная концепция «Белой капусты»

Центральный процессор (CPU) будет Loongson 1C. Память можно использовать от ISSI, например SDRAM. SPI NOR FLASH (для хранения прошивки) можно использовать от Zhaoyi. Программируемый адаптер может быть CH341 от Renesas, который является популярным выбором. Все эти производители являются отечественными и получили признание рынка. Если добавить хороший отечественный источник питания, можно создать полностью отечественную плату.

Расширение и производные «Белой капусты»

«Белая капуста» изначально разрабатывалась как недорогая минимальная система для программирования на голом железе. Однако у неё есть большой потенциал для расширения и создания других типов плат. Например, добавив больше памяти, можно превратить её в полноценную Linux-платформу.

Поскольку «Белая капуста» является минимальной системой, достаточно предоставить ей базовую плату, чтобы легко расширить функциональность. Например, после добавления NAND flash можно запустить Linux. Можно также интегрировать USB-интерфейсы и другие функции на базовой плате. Я слышал, что некоторые энтузиасты уже работают над этим, и результаты можно найти на Taobao.

Пайка «Белой капусты»

Все исходные файлы «Белой капусты», включая принципиальные схемы и печатные платы, открыты. Любой может использовать их для создания своих плат. Недавно (июль 2019 года) основной вкладчик «Белой капусты», Ли Гун, купил партию плат, и, похоже, он не планирует делать ещё одну партию, поэтому несколько участников группы сами делают платы. Я тоже решил попробовать и успешно сделал свою первую плату после нескольких неудачных попыток.

Хотя я новичок в пайке, мой опыт новичка может лучше подходить для новичков, поэтому я написал статью под названием «Опыт пайки Белой капусты», в которой обобщил основные моменты, трудности и решения для пайки. Надеюсь, это будет полезно для новичков.

Windows для разработки Loongson 1C

Для справки, библиотеку Loongson 1C можно скомпилировать под Linux с помощью официального инструментария кросс-компиляции Loongson. В этой статье основное внимание уделяется компиляции под Windows. Если вам нужна информация о компиляции под Linux, возможно, потребуется немного изменить Makefile.

Вот ссылки на инструменты кросс-компиляции CH341A и программное обеспечение для записи под Windows: https://pan.baidu.com/s/1J9c4e2Q6OeYEgTM2rHPcfA

Также доступна более новая версия инструментария кросс-компиляции от MIPS, которую можно использовать для компиляции библиотеки Loongson 1C. Версии для Windows и Linux доступны на официальном сайте MIPS. Обратите внимание, что следует выбрать «MTI Bare Metal Toolchain». Из-за различий в версиях кросс-компиляторов может потребоваться внести изменения в некоторые части библиотеки 1C. Пользователь FlyGoat уже исправил ошибки и успешно использовал компилятор MIPS для сборки библиотеки, вы можете попробовать его версию по адресу: https://gitee.com/flygoat/OpenLoongsonLib1c

Как перенести библиотеку Loongson 1C на другую плату

Исходный код на GitHub предназначен для тестирования на «Белой капусте». Для использования на других платах могут потребоваться некоторые модификации, такие как изменение параметров памяти, настройка последовательного порта и т. д.

  • Проверка или изменение типа памяти: обратитесь к статье «Замена памяти и изменение конфигурации SDRAM (аналогично pmon)» для получения подробной информации.
  • Просмотр или изменение последовательного порта: обычно требуется изменить базовый адрес последовательного порта и скорость передачи данных. В начале процесса инициализации будет настроен последовательный порт для облегчения отладки и печати информации. После перехода в среду выполнения C последовательный порт может быть повторно инициализирован. Подробные сведения см. в файле сборки start.S и файле C ls1c_uart.c.
  • Запись и запуск команд: текущие программы для голого железа, использующие библиотеку Loongson 1C, поддерживают самозагрузку, то есть они могут запускаться сразу после включения без необходимости в программе запуска, такой как pmon. Если ваша программа предназначена только для голого железа и вы хотите записать её во флэш-память SPI NOR, вам понадобится EJTAG или SPI FLASH-программист.

Отладка программы

  • Использование эмулятора для онлайн-отладки: хотя использование эмулятора для онлайн-отладки удобно и интуитивно понятно, в настоящее время (апрель 2018 г.) на рынке всё ещё нет доступных и недорогих эмуляторов. Возможно, в будущем появятся лучшие варианты.
  • Использование printf для вывода отладочной информации: использование printf для отладки является распространённым и эффективным методом. На данный момент (апрель 2018 г.) все функции библиотеки Loongson 1C были разработаны с использованием printf. В настоящее время последовательный порт 2 используется в качестве последовательного порта отладки, и достаточно подключить последовательный порт к компьютеру, чтобы использовать программное обеспечение последовательного порта, такое как SecureCRT или помощник последовательного порта, для просмотра выходных данных. Функция printf может выводить практически любую информацию, включая значения регистров. Вы можете использовать её для печати значений регистров в ключевых точках программы. # Структура исходного кода

Исходный код включает в себя каталоги «app», «example» и «lib».

Каталог «app» предназначен для хранения исходных файлов пользователя. Файлы, которые создаёт пользователь, размещаются в каталоге «app». Содержимое этого каталога связано с конкретными бизнес-процессами и не является универсальным для Loongson 1C.

Каталог «example» содержит функции тестирования библиотек. Эти функции также демонстрируют, как использовать интерфейсы, предоставляемые библиотеками.

«lib» — это каталог, который содержит библиотеку Loongson 1C в строгом смысле слова. Исходный код в этом каталоге упаковывает информацию о регистрах Loongson 1C в отдельные функции. Обычно пользователям не следует изменять файлы в этом каталоге.

Каталог «include» содержит заголовочные файлы стандартных библиотек (libc и libm). Использование этих библиотек аналогично их использованию в Linux. Для включения файлов используется конструкция #include <xxx.h>.

Каталог «libc» содержит стандартную библиотеку C, которая предоставляет функции для обработки строк, такие как printf.

В каталоге «libm» находится стандартная математическая библиотека, содержащая часто используемые математические функции, такие как sqrt, sin и cos.

Изначально для работы с Loongson 1C достаточно было использовать только каталог «lib» с исходным кодом. Однако для демонстрации использования и проверки функциональности библиотеки Loongson 1C был добавлен каталог «example». В дальнейшем возникла необходимость использовать функцию printf, которая вызывает множество функций обработки строк из библиотеки libc и функции из библиотеки libm. Поскольку функции обработки строк и математические функции используются часто, были добавлены каталоги «libc» и «libm». Каталог «include» содержит только заголовочные файлы библиотек libc и libm. В Makefile путь к каталогу «include» добавляется к переменной VPATH, что позволяет использовать конструкцию #include <xxx.h> для вызова заголовочных файлов библиотек libc и libm в коде. Поэтому был добавлен каталог «include». Также был создан отдельный каталог «app» для хранения пользовательского кода, связанного с конкретными бизнес-процессами. Таким образом, количество каталогов постепенно увеличивается.

Библиотека Loongson 1C и системы реального времени (RT-Thread, UCOSIII и др.)

Библиотека Loongson 1C не имеет ограничений и просто упаковывает некоторые функции распространённых внешних устройств в виде функций. Это позволяет использовать её как для программирования на голом железе, так и для систем реального времени, таких как RT-Thread.

На данный момент пользователь «Ветер, дующий на восток» перенёс start.S в RT-Thread и реализовал самозагрузку RT-Thread, позволяя ему запускаться сразу после включения без необходимости в pmon или других программах для загрузки. Вы можете скачать RT-Thread с хорошей загрузкой по ссылке: https://github.com/zhuangwei123/rt-thread. Не известно, будет ли он включён в официальный git RT-Thread. Пожалуйста, перейдите на официальный сайт RT-Thread на GitHub (https://github.com/RT-Thread/rt-thread), чтобы узнать последнюю информацию.

Ресурсы

Блог «Цинь Вэй Бэнь» (http://blog.csdn.net/caogos) представляет идеи и ключевые моменты упаковки различных функций библиотеки Loongson 1C в форме блога.

Маленький магазин «Цинь Вэй Бэнь» на Taobao (https://shop333183734.taobao.com/) предлагает товары, созданные с использованием Loongson 1C300B, включая небольшие модули. Приглашаем всех посетить магазин. Последние новости будут опубликованы через официальный аккаунт WeChat (см. QR-код ниже).

Самостоятельный магазин компании «Таоли Кеджи» (https://shop113164026.taobao.com) принадлежит пользователю Ли Гун, основному вкладчику в проект «Белой доски». Здесь можно приобрести последнюю версию «Белой доски» (которая постоянно обновляется) и заказать индивидуальную разработку платы Loongson 1C с платной технической поддержкой.

Для общения по вопросам, связанным с библиотекой Loongson 1C, существует группа QQ «633262684». Также есть официальный аккаунт WeChat «qin_wei_ben». Вы можете отсканировать QR-код для подписки на аккаунт.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Подобно библиотеке STM32 для микроконтроллеров STM32, библиотека 1C для микроконтроллера Логинкорт 1c (в настоящее время включает только 1С). Развернуть Свернуть
BSD-3-Clause
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/caogos-OpenLoongsonLib1c.git
git@api.gitlife.ru:oschina-mirror/caogos-OpenLoongsonLib1c.git
oschina-mirror
caogos-OpenLoongsonLib1c
caogos-OpenLoongsonLib1c
master