STM32 HAL, LL и стандартная библиотека
STM32 HAL, LL и стандартная библиотека

введение

Когда мы делаем STM32развиваем,Ведь лишь немногие люди используют регистры для развития.,Большинство людей до сих пор привыкли использовать библиотечные функции для улучшения. до сих пор,Есть стандартные периферийные библиотеки, библиотека HAL、библиотека ЛЛ Три типа. В этой статье будут выделены следующие три библиотеки государственных должностей, чтобы каждому было легче их различать.

представлять

стандартная библиотека

стандартная библиотека(Standard Peripheral Library) — самая базовая библиотека, предоставляемая STMicroelectronics. Он обеспечивает прямой доступ к регистрам низкого уровня и периферийным устройствам микроконтроллера STM32. стандартная Целью разработки библиотеки является обеспечение высокой степени гибкости и низкоуровневого аппаратного обеспечения. контроль обеспечения для удовлетворения жестких требований к производительности и ресурсам. Используйте стандартную библиотека, развитие персонал может напрямую манипулировать регистрами для настройки и управления функциями микроконтроллера, но большой объем низкоуровневого кода необходимо писать вручную. стандартная библиотека подходит для приложений с повышенными требованиями к производительности и проектов, предъявляющих строгие требования к размеру кода и эффективности.

библиотека HAL

библиотека HAL(Hardware Abstraction Layer) — это библиотека, представленная STMicroelectronics для обеспечения более высокого уровня абстракции и простоты. библиотека HALна основестандартная библиотеку и предоставляет набор функций API, лежащих в основе аппаратного обеспечения. Операции обеспечения абстрагируются в вызовы функций высокого уровня. Таким образом, специалисты по разработке могут использовать API-функцию более высокого уровня для настройки и управления функциями микроконтроллера без прямого манипулирования регистрами низкого уровня. библиотека HAL обеспечивает более удобную и переносимую модель программирования и сокращает усилия по написанию низкоуровневого кода. Он также поддерживает различные интеллектуальные платы и периферийные устройства, обеспечивает согласованный интерфейс и упрощает перенос и повторное использование кода. библиотека HAL подходит для большинства приложений, особенно для проектов средней сложности.

библиотека ЛЛ

библиотека ЛЛ(Low-Level Библиотека) находится в библиотеке STMicroelectronics. Библиотека нижнего уровня, предоставляемая поверх HAL. библиотека ЛЛ обеспечивает более прямой доступ к низкоуровневым регистрам и периферийным устройствам и предоставляет набор низкоуровневых API-функций. библиотека ЛЛ сохраняет больше аппаратного обеспечение деталей, предоставление персоналу более высокого уровня гибкости и контроля. Использовать библиотеку ЛЛ,развивать персонал может напрямую писать код нижнего уровня для достижения точного управления микроконтроллерами и периферийными устройствами. библиотека ЛЛ подходит для чрезвычайно высоких требований по производительности и ресурсам, а также к базовому аппаратному обеспечению. программное обеспечение Управление приложениями с особыми потребностями.

Отношения между тремя

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

библиотека Хотя HAL обладает лучшей переносимостью, у него также больше всего проблем. Например, при отправке и получении через последовательный порт из-за библиотеки Блокировка мьютекса, используемая для приема прерываний и передачи по последовательному порту в HAL, одинакова, поэтому хороший полнодуплексный режим станет полудуплексным. И стандартная библиотекаибиблиотека У ЛЛ нет этой проблемы. Подобных вопросов еще много, но библиотека HAL действительно является наиболее эффективным. Конкретные эффекты использования могут варьироваться от человека к человеку.

Подвести итог

STпредоставилстандартная библиотека、библиотека HALибиблиотека Каждая ЛЛ имеет свои преимущества и особенности. Если это давно пересаженный проект, велика вероятность, что будет использована стандартная. библиотека. Если у вас новый проект и вы используете STM32CubeMX, вы должны использовать библиотеку HALибиблиотека ЛЛ. Личное предложение, теперь лучше использовать библиотеку HAL+библиотека ЛЛ проводит разработку, потому что это официальная рекомендуемая библиотека, а CubeMX действительно очень полезный инструмент, и есть только библиотека HALибиблиотека ЛЛ。библиотека HAL быстро развивается,библиотека ЛЛразвивать стабилен и может использоваться вместе.

boy illustration
RasaGpt — платформа чат-ботов на основе Rasa и LLM.
boy illustration
Nomic Embed: воспроизводимая модель внедрения SOTA с открытым исходным кодом.
boy illustration
Улучшение YOLOv8: EMA основана на эффективном многомасштабном внимании, основанном на межпространственном обучении, и эффект лучше, чем у ECA, CBAM и CA. Малые цели имеют очевидные преимущества | ICASSP2023
boy illustration
Урок 1 серии Libtorch: Тензорная библиотека Silky C++
boy illustration
Руководство по локальному развертыванию Stable Diffusion: подробные шаги и анализ распространенных проблем
boy illustration
Полностью автоматический инструмент для работы с видео в один клик: VideoLingo
boy illustration
Улучшения оптимизации RT-DETR: облегченные улучшения магистрали | Support Paddle облегченный rtdetr-r18, rtdetr-r34, rtdetr-r50, rtdet
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | Деформируемое внимание с большим ядром (D-LKA Attention), большое ядро ​​​​свертки улучшает механизм внимания восприимчивых полей с различными функциями
boy illustration
Создано Datawhale: выпущено «Руководство по тонкой настройке развертывания большой модели GLM-4»!
boy illustration
7B превышает десятки миллиардов, aiXcoder-7B с открытым исходным кодом Пекинского университета — это самая мощная модель большого кода, лучший выбор для корпоративного развертывания.
boy illustration
Используйте модель Huggingface, чтобы заменить интерфейс внедрения OpenAI в китайской среде.
boy illustration
Оригинальные улучшения YOLOv8: несколько новых улучшений | Сохранение исходной информации — алгоритм отделяемой по глубине свертки (MDSConv) |
boy illustration
Второй пилот облачной разработки | Быстро поиграйте со средствами разработки на базе искусственного интеллекта
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция с нулевым кодированием и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
Решенная Ошибка | Загрузка PyTorch медленная: TimeoutError: [Errno 110] При загрузке факела истекло время ожидания — Cat Head Tiger
boy illustration
Brother OCR, библиотека с открытым исходным кодом для Python, которая распознает коды проверки.
boy illustration
Новейшее подробное руководство по загрузке и использованию последней демонстрационной версии набора данных COCO.
boy illustration
Выпущен отчет о крупной модели финансовой отрасли за 2023 год | Полный текст включен в загрузку |
boy illustration
Обычные компьютеры также могут работать с большими моделями, и вы можете получить личного помощника с искусственным интеллектом за три шага | Руководство для начинающих по локальному развертыванию LLaMA-3
boy illustration
Одной статьи достаточно для анализа фактора транскрипции SCENIC на Python (4)
boy illustration
Бросая вызов ограничениям производительности небольших видеокарт, он научит вас запускать большие модели глубокого обучения с ограниченными ресурсами, а также предоставит полное руководство по оценке и эффективному использованию памяти графического процессора!
boy illustration
Команда Fudan NLP опубликовала 80-страничный обзор крупномасштабных модельных агентов, в котором в одной статье представлен обзор текущего состояния и будущего агентов ИИ.
boy illustration
[Эксклюзив] Вы должны знать о новой функции JetBrains 2024.1 «Полнострочное завершение кода», чтобы решить вашу путаницу!
boy illustration
Краткое изложение базовых знаний о регистрации изображений 1.0
boy illustration
Новейшее подробное руководство по установке и использованию библиотеки cv2 (OpenCV, opencv-python) в Python.
boy illustration
Легко создайте локальную базу знаний для крупных моделей на основе Ollama+AnythingLLM.
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание решения. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Одна статья поможет вам понять RAG (Retrival Enhanced Generation) | Введение в концепцию и теорию + практику работы с кодом (включая исходный код).
boy illustration
Эволюция архитектуры шлюза облачной разработки
boy illustration
Docker и Kubernetes [Разработка контейнерных приложений с помощью Python]