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

OSCHINA-MIRROR/ecbm-ecbm_hal

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
readme_old.md 9.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 29.11.2024 19:33 ada1f4b

ECBM_HAL библиотека — мощная ветвь ECBM библиотеки

IDEПоддержка облачных технологий

Лицензия с открытым исходным кодомВерсия библиотеки

Поддерживаемые модели

Происхождение HAL библиотеки

STC8 — это действительно популярный чип, и различные функции библиотек на основе STC8 появляются как грибы после дождя. Активное продвижение различных мастеров заставило меня осознать, что степень сложности проекта для обмена также является важным атрибутом открытого исходного проекта. Если можно поделиться main.c, чтобы другой человек мог скомпилировать и запустить его, то обмен атрибутами будет значительно увеличен. Чтобы достичь этого, необходимо отделить настройки устройства и собрать их в main.c. Проще говоря, информация об устройстве упаковывается в структуру, а затем структура заполняется в main.c для достижения нашей цели.

Основы HAL библиотеки

HAL — это аббревиатура от Hardware Abstraction Layer, или слой аппаратной абстракции. Это структура, используемая основной библиотекой ECBM V3.0 и старой версией ECBM_TINY. Макроопределения используются для упаковки низкоуровневых операций с регистрами. После упаковки операции с регистром становятся операциями со слоем абстракции, что устраняет различия в операциях между разными моделями и делает разделение между устройствами более чётким. Помимо упаковки операций с регистрами, настройка регистра также изменяется с прямой записи на запись структуры. Это значительно повышает возможность копирования свойств и функциональную возможность повторного использования устройств.

Сильное сотрудничество между KEIL и VScode

KEIL — большинство людей, изучавших 51 однокристальный микрокомпьютер, знают о нём. Графический интерфейс конфигурации KEIL в определённой степени снижает сложность использования однокристального микрокомпьютера, но KEIL for c51 не поддерживает завершение функций и завершение структур. Это делает использование структур очень трудным, поэтому основная библиотека ECBM старается избегать использования структур.

VScode — это бесплатный кроссплатформенный редактор исходного кода, разработанный Microsoft. Его функции завершения кода, просмотра определений и т. д. очень мощные, и я люблю его использовать.

Могут ли они сотрудничать? Конечно, могут! Просто установите плагин Keil Assistant в VScode, и вы сможете это сделать.

Цель HAL библиотеки

Поскольку ECBM_TINY в настоящее время не имеет большого успеха, цель ECBM_HAL состоит в том, чтобы напрямую заменить TINY и двигаться к STC8. В конечном итоге он объединится с основной библиотекой для реализации большой унификации 8-битных машин.

Детали проекта

Адаптация

Стандартный 8051

Нажатие на имя функции внешней библиотеки приведёт вас к соответствующей документации библиотеки.

Потребление ресурсов

Следующие данные были получены путём статистического анализа в KEIL с оптимизацией уровня 9. Результаты разных версий компилятора могут немного отличаться, и они предназначены только для справки.

Так называемый минимальный расход означает, что все возможности текущей библиотеки отключены, и остаётся только пространство, занимаемое некоторым ошибочным кодом суждения.

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

Независимо от минимального или максимального расхода, они рассчитываются отдельно после включения каждой библиотеки, поэтому некоторые общие вычислительные библиотеки (например, библиотеки преобразования адресов, библиотеки вычислений с плавающей запятой и т.д.) также включаются.

Если пространство однокристальной машины ограничено, можно не загружать библиотеки, которые не использовались, чтобы уменьшить занимаемое пространство до 0 байт.

Внешняя библиотека Минимальный расход SRAM Максимальный расход SRAM Минимальный расход Flash Максимальный расход Flash
EXTI 0 байт 9 байт 49 байт 371 байт
TIMER 0 байт 12 байт 49 байт 1670 байт
UART 8 байт 41 байт 220 байт 1841 байт

Формат номера версии

Используйте семантический стандарт номеров версий, предоставляемый gitee, который представляет собой:

[Основная версия].[Дополнительная версия].[Номер исправления], и правила увеличения номера версии следующие:

  • Основная версия: внесены несовместимые изменения API.
  • Дополнительная версия: добавлены функциональные возможности, совместимые с предыдущими версиями.
  • Номер исправления: исправлены проблемы, совместимые с предыдущей версией.

Когда основная версия увеличивается, дополнительная версия и номер исправления сбрасываются.

Как учиться / давать предложения

Эта библиотека предоставляет подробные документы в папке docs, которые хранятся отдельно в соответствии с устройствами. Вы можете просматривать их по мере необходимости.

Если у вас есть какие-либо предложения или требования к модулю привода, вы можете предоставить их через новые проблемы.

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/ecbm-ecbm_hal.git
git@api.gitlife.ru:oschina-mirror/ecbm-ecbm_hal.git
oschina-mirror
ecbm-ecbm_hal
ecbm-ecbm_hal
master