Сервис для
сео - оптимизаторов

Найди ошибки на сайте
Ошибки мешают продвижению сайта
Исправь ошибки на сайте
Сайт без ошибок продвигать легче
Получи новых клиентов
Новые клиенты принесут больше прибыль

Плюсы и минусы использования инструмента генерации кода STM32CubeMX вместо ручного написания драйверов для микроконтроллера ARM Cortex-M

  1. Конфигурация драйверов
  2. Просмотр распиновки
  3. Вид конфигурации часов
  4. Калькулятор энергопотребления
  5. Генерация отчетов проекта
  6. Как использовать сгенерированный код и HAL
  7. Плюсы, минусы и опыт

Куб является отличным инструментом для сужения возможных вариантов при выборе микроконтроллера

Куб является отличным инструментом для сужения возможных вариантов при выборе микроконтроллера. Это позволило пользователю выбрать микроконтроллер на основе требуемой периферии, семейства микроконтроллеров, типа упаковки, размера флэш-памяти, размера оперативной памяти, минимального количества выводов ввода / вывода и т. Д. Для быстрого и легкого начала работы с прототипами доступны пакет поддержки платы и множество примеров проектов для трех IDE: Keil uVision, IAR Embedded Workbench и Atollic TrueStudio.

Конфигурация драйверов

После выбора правильного микроконтроллера для приложения пользовательский интерфейс имеет четыре основных вида. Ниже приводится краткое объяснение этих четырех взглядов.


Просмотр распиновки

Этот вид показан на рисунке 1. Он включает в себя визуализацию микроконтроллера и его выводов и имеет вертикальную боковую панель инструментов. Здесь выбираются необходимые периферийные устройства. Выбор драйверов может быть сделан путем выбора контакта, который напрямую поддерживает периферийное устройство, или путем выбора конкретного периферийного устройства на панели инструментов. Инструмент автоматически назначит периферийные устройства соответствующим контактам. При использовании панели инструментов она будет разрешать конфликты контактов путем перемещения конфликтующего периферийного устройства на неиспользуемые контакты, которые также поддерживают периферию. Иногда этот автоматический механизм разрешения конфликтов может быть нежелателен, и, следовательно, при необходимости можно подключить периферийное устройство к штырьку. Оба способа выбора периферийных устройств не допускают комбинацию, которая не поддерживается выбранным микроконтроллером. Этот вид фокусируется на распиновке, и поэтому устанавливаются только настройки, относящиеся к каждой возможной конфигурации контактов. Например, можно выбрать включение SPI в полнодуплексном режиме, только прием или только передача. Все три возможных варианта активируют периферийные устройства SPI, но они также влияют на то, какие контакты используются. В этом представлении невозможно установить скорость в бодах, размер данных, порядковый номер, прескалер, полярность тактового сигнала и т. Д., Поскольку они не влияют на распиновку. Еще один пример - включение канала АЦП и АЦП в виде распиновки. Это влияет на распиновку, но выбранная частота дискретизации, режим преобразования данных, разрешение и т. Д. Не влияют. Представление распиновки позволяет разработчику включать и настраивать периферийные устройства, которые влияют на распиновку. Единственное исключение - это то, что некоторые библиотеки промежуточного программного обеспечения могут быть включены из этого представления, даже если они не изменяют распиновку. Примером этого является FreeRTOS, операционная система реального времени. Дополнительные параметры, связанные с периферийными устройствами, можно выбрать в представлении конфигурации.

Вид конфигурации

В представлении конфигурации отображаются все включенные периферийные и промежуточные программные библиотеки. Кроме того, можно настроить функции сторожевого устройства, передачи DMA, включить различные прерывания и установить дополнительные часы и режим сброса. В этом виде настройка периферийных устройств выполнена. Можно установить скорость в бодах, размер данных, порядок байтов, прескалер, полярность тактового сигнала и т. Д. Периферийных устройств SPI или частоту дискретизации, режим преобразования данных, разрешение и т. Д. АЦП. Пример показан на рисунке 2.

Вид конфигурации часов

Все конфигурации часов должны быть выполнены в виде конфигурации часов. Это представление показано на рисунке 3 и дает хороший обзор дерева часов. Это представление позволяет разработчику выбирать между внешним и внутренним источником синхронизации. Тактовые частоты в иерархии тактовых импульсов автоматически рассчитываются путем установки используемой частоты генератора и настройки множества прескалеров и ФАПЧ. Неправильные конфигурации часов четко обозначены красным, что позволяет легко обнаружить и устранить любые несовместимости.

Калькулятор энергопотребления

Это представление используется для того, чтобы приблизительно рассчитать, сколько тока микроконтроллер с выбранными периферийными устройствами и настройками будет потреблять в разных режимах и в среднем. Контроль потребления тока важен для приложений с низким энергопотреблением, и этот инструмент очень помогает разработчику. Представление позволяет разработчику установить параметры, такие как напряжение питания, тактовая частота, режим работы / ожидания / ожидания, напряжение ОЗУ, включенные периферийные устройства и т. Д. В приложениях с низким энергопотреблением микроконтроллер часто будет находиться в режиме сна большую часть времени, периодически просыпаясь только для проверки для событий или когда происходит прерывание. Это означает, что микроконтроллер, скорее всего, имеет как минимум два режима с очень разными значениями параметров. Представление энергопотребления позволяет добавить последовательность шагов, где один шаг соответствует режиму для заданного временного интервала. Когда все шаги, соответствующие различным режимам, были добавлены, создается графическое представление. Пример этого показан на рисунке 4. Кроме того, из списка можно выбрать наиболее обычные аккумуляторы, а приблизительный срок службы аккумуляторов можно оценить для полной зарядки.

Генерация отчетов проекта

  • Отчеты могут быть созданы одним щелчком мыши и содержат много полезной информации. Сгенерированный отчет содержит такую ​​информацию, как:
  • Выбранный микроконтроллер.
  • Какая версия Cube и версия пакета прошивки, которая использовалась для генерации кода.
  • Какой компилятор используется и какая версия.
  • Обзор выводов микроконтроллера, как показано на схеме выводов.
  • Список контактов с сопоставлениями с номером контакта в упаковке, внутренним номером контакта / портом, активным периферийным устройством на контакте и меткой, выбранной пользователем.
  • Все расчеты энергопотребления выполняются в представлении калькулятора энергопотребления.

Генерация кода

После выбора необходимых периферийных устройств в представлении распиновки и настройки часов и периферийных устройств можно сгенерировать код инициализации. Сгенерирован не только код, но и все необходимые файлы проекта для выбранной IDE. В дополнение к этому в проекте предусмотрены файлы шаблонов, в которых даются некоторые рекомендации о том, как можно структурировать код. В сгенерированных файлах есть закомментированные разделы, в которые должен быть вставлен пользовательский код. Очень важно, чтобы код, который пишет разработчик в сгенерированных файлах, был написан в этих разделах. В противном случае он исчезнет, ​​когда проект будет восстановлен. Даже незначительные изменения, такие как изменение скорости передачи данных для периферийного устройства, рекомендуется выполнять в Cube, а не в самом сгенерированном исходном файле. Не потому, что это быстрее (или особенно медленнее), но это предотвратит ненужные возможные ошибки и сохранит сгенерированную документацию обновленной. Кроме того, если позднее необходимо будет выполнить более серьезные изменения и проект Cube не будет соответствовать обновленному коду, необходимо добавить изменения, внесенные в исходный файл. Всегда держите Cube в курсе!

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

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

Как использовать сгенерированный код и HAL

Как уже упоминалось, используется библиотека STM32 HAL. После того, как код сгенерирован, все должно быть готово к использованию библиотеки HAL для управления периферийными устройствами. Синтаксис библиотеки HAL показан в таблице ниже: это вызовы функций, показанные в первой таблице, которые должны использоваться для управления поведением периферийных устройств. Чтобы запустить базовый таймер, можно вызвать HAL_TIM_Base_Start () или отправить данные по UART с помощью DMA, можно вызвать HAL_UART_Transmit_DMA (). Вторая строка в таблице - это макросы, которые помогают разработчику изменять значения регистров. Причина использования макросов в том, что они более переносимы и снижают вероятность установки неправильного бита. В зависимости от приложения эти макросы иногда должны использоваться. Например, при изменении частоты дискретизации АЦП между двумя частотами во время работы приложения. Последняя строка в таблице, как правило, может включать и отключать только часы для периферийных устройств и функции, связанные со сбросом.


Плюсы, минусы и опыт

Cube - это новое программное обеспечение, начальный выпуск которого состоялся в феврале 2014 года, и в нем все еще есть некоторые ошибки. Ошибки могут быть такими же банальными, как пропущенная или повторяющаяся строка в сгенерированном коде, или ошибкой в ​​пользовательском интерфейсе, препятствующей использованию действительной действительной настройки. Несмотря на это, это экономит много времени. Кроме того, шесть минорных обновлений были выпущены в течение одного года, так что это быстро становится лучше.

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

Когда генерируется новый код, следует проверить код инициализации, который был изменен или добавлен. Быстрый просмотр может выявить пропущенные строки или неправильные настройки, которые в противном случае было бы трудно обнаружить. Можно добавить пользовательский код в код инициализации, который не будет удален при повторной генерации кода. Это позволяет исправить многие ошибки генерации кода.

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

Если используются макросы, предоставленные библиотекой HAL, то лист данных и справочное руководство помогут вам избежать ошибок. Должно быть легко настроить проект в средах разработки, кроме трех официально поддерживаемых. Atollic TrueStudio использует компилятор GCC, который также поддерживается несколькими другими IDE.

В настоящее время Cube не поддерживает генерацию кода инициализации флэш-памяти для включения чтения и записи во флэш-память, но это может быть поддержано в будущем.

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

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

Похожие

Как использовать Google Keep в качестве приложения по умолчанию "Note To Self"
... из самых полезных функций на любом смартфоне Android благодаря всему, на что он способен"> Google сейчас может быть одной из самых полезных функций на любом смартфоне Android благодаря всему, на что он способен. Одной из таких вещей является отправка заметок себе, будь то напоминание, чтобы что-то забрать из магазина или зарегистрироваться на встречу в определенное
Как создать программу установки флешку с Windows 7
Всем привет, уважаемые читатели. Более 20-ти дней я ничего не писал в блог, не появлялся онлайн, не отвечал на письма и не давался слышать. Такого большого перерыва в своей деятельности я еще не помню. Почему так случилось? И все банально просто - несколько дней я возился с ПК (перевстановлював операционную систему, восстанавливал данные), а затем вирус положил меня в постель на две недели и ни о какой работе уже даже не думалось. Которая может быть активность, когда красный нос, воспаленные
Как удалить видео с iPad, чтобы освободить место для хранения
Всем привет! Мне нужна ваша помощь, пожалуйста! Я сохранил много видео на своем iPad, и теперь я обнаружил, что на моем iPad недостаточно места для хранения. Поэтому я хочу удалить эти видео и освободить место на моем iPad. Есть ли простой способ сделать это? Буду признателен за все ваши предложения, спасибо! Пользователи iPad в основном используют устройство для игр и просмотра видео. Видеоролики можно приобрести в iTunes Store или синхронизировать
Как создать кнопку Gmail с генератором значков электронной почты
Одна из больших проблем перевода нашего адреса электронной почты в текстовом формате, таком как
Как установить iOS 10 / iOS 10.1 / iOS 10.2 на iPhone / iPad
Резюме Это руководство предлагает 2 способа помочь вам установить iOS 10 / iOS 10.1 / iOS 10.2 на ваш iPhone, iPad или iPod touch: установить iOS 10 на устройство (а) по беспроводной сети или через iTunes. Новый iOS 10 был представлен на WWDC 2016, а публичная бета-версия стала доступна 7 июля. Многие пользователи скачали и установили ее на свои iPhone / iPad / iPod, чтобы попробовать. Эта новая операционная
Мобильный интернет вместо стационарного: обзор и сравнение предложений
... ирное предложение мобильного Интернета, потому что вы можете приобрести его с модемом, планшетом, двумя планшетами, нетбуком, ноутбуком, камерой, предназначенной для видеонаблюдения, и без устройства. Тем не менее, это все дополнения, и в конце концов нас интересует Интернет и модем. В розовом цвете контракт может быть подписан на двенадцать или двадцать четыре месяца, и в отдельных тарифных планах существующие клиенты получат десять злотых скидок в течение срока действия контракта. Разумеется,
Как остановить постоянные запросы пароля iCloud на старых компьютерах Mac и iPhone
Я сталкивался с повторяющейся проблемой с клиентами, когда старые устройства снова и снова будут запрашивать пароли iCloud, и запросы не перестанут поступать, несмотря на то, что пользователь вводит правильный пароль несколько раз. Они видят что-то вроде этого: И если они нажмут «Настройки iCloud» в этом поле,
Как создать успешный сайт, который привлекает миллионы посетителей!
За прошедшие годы тысячи людей спросили нас, как мы создали этот веб-сайт и как они могут создать свой собственный. Сегодня я хотел бы поделиться с вами простой стратегией, которую мы используем для создания наших веб-сайтов, привлечения миллионов посетителей и получения дохода на автопилоте. Наши методы доказали свою успешную работу во многих отраслях для нас и для других людей. В некотором смысле вы можете рассмотреть то, что я собираюсь поделиться с вами, свой собственный план создания
Как скачать и установить Elite Keylogger [Mac]
Установка Elite Keylogger для Mac - это простой процесс. Если вам нужно отследить, как используется ваш Mac, Elite Keylogger предоставляет и простой способ отслеживать его активность. Пожалуйста, прочитайте всю эту статью, прежде чем пытаться установить. Прежде чем вы начнете 1. Убедитесь, что у вас есть пароль для учетной записи уровня администратора для Mac, на который вы хотите установить его (целевой Mac). Пароль необходим для установки Elite Keylogger.
Garmin Pay - платежи на часах
Стоит ли инвестировать в спортивные часы с функцией бесконтактных платежей в эпоху всеобщего доступа к приложениям, меняющим смартфоны в виртуальных портфелях? Garmin Pay - что это? Приложение, которое позволяет совершать безналичные бесконтактные транзакции с помощью наручных часов, - это дань уважения людям, которые ведут активный образ жизни. Сам поставщик услуг признает, что вдохновением для его создания были люди, живущие в постоянном движении. Все, что вам нужно, это
Генератор статических сайтов
... ического веб-сайта объединяет язык разметки, такой как Markdown или reStructuredText, с механизмом шаблонов, таким как дзиндзя , чтобы производить HTML-файлы. Файлы HTML могут быть размещены и обслуживаться веб сервер или же сеть доставки контента (CDN) без каких-либо дополнительных зависимостей, таких как

Комментарии

Если вам приходится использовать фиктивные тексты, почему бы не использовать лучшие из лучших?
Если вам приходится использовать фиктивные тексты, почему бы не использовать лучшие из лучших? Какой твой любимый генератор пустых текстов? Мы пропустили какие-нибудь хорошие?
Вместо этого, мы должны перейти на тонкий клиент и развернуть службы терминалов или Citrix, или мы могли бы использовать браузер?
Вместо этого, мы должны перейти на тонкий клиент и развернуть службы терминалов или Citrix, или мы могли бы использовать браузер? Мой мозг находится на первой стадии, когда я начинаю понимать, что однажды я смогу запустить свою электронную почту, текстовый процессор и электронную таблицу из Интернета. В этом случае мне может не понадобиться мощная операционная система. Верите ли вы в ТШО? (Общая стоимость владения) Сначала я полагал, что Общая стоимость владения была
Как вы отслеживаете свои путешествия?
Как вы отслеживаете свои путешествия? это линия карт пользуется огромной популярностью у людей, которым нравится гордое воспоминание об их авантюрах, демонстрируемых в их доме.
Вас интересует, как выглядят хорошие польские звезды?
Вас интересует, как выглядят хорошие польские звезды? Познакомьтесь с 5 польскими дизайнерами сайтов, который отдалил мир конкуренция. Вторая часть контента, через 76 дней ... Если вы знаете кандидата, который, безусловно, должен чтобы найти в этом списке, пожалуйста, дайте нам знать. Отправить кандидата
Поэтому вполне нормально, что этот ультрабук, демонстрируемый по цене, которая пугает конкуренцию, заинтриговывает нас: что стоит использовать?
Поэтому вполне нормально, что этот ультрабук, демонстрируемый по цене, которая пугает конкуренцию, заинтриговывает нас: что стоит использовать? Импорт китайских товаров часто пугает, оправданы ли эти опасения или нет. Когда речь заходит о ноутбуке, каждый на законных основаниях задает несколько вопросов: это надежно? Разве он не выйдет в случае шпиона вредоносного ПО через несколько месяцев? Как это происходит для гарантии, если продукт неисправен? Являются ли компоненты более низкого качества
Но для тех, кто не хочет PS4 Pro - и имеет выбор между оригинальной моделью запуска и этим новым Slim - как они сравниваются?
Но для тех, кто не хочет PS4 Pro - и имеет выбор между оригинальной моделью запуска и этим новым Slim - как они сравниваются? Первое практическое занятие Digital Foundry с CUH-2000 PS4 Slim говорит, что он «лучше, чем существующий PS4 почти во всех отношениях» с лучшей энергоэффективностью и снижением шума, и, хотя он имеет более низкую цену, он имеет качество сборки на уровне существующих моделей. Как тонкий PS4 выглядит по-другому для запуска оборудования
Вы видите, как все это происходит вместе?
Вы видите, как все это происходит вместе? Как заработать деньги с вашего сайта Я создаю веб-сайты, потому что это моя страсть, но я не думаю, что мне это так понравилось бы, если бы я не заработал на этом столько денег. Вот мои любимые статьи, связанные с зарабатыванием денег с сайта. Как сделать ваш сайт еще лучше Я перфекционист, и я знаю, что каждое улучшение, которое я делаю, будет означать увеличение трафика на мой сайт, что, в свою очередь,
Чаще всего меня спрашивают: «Как установить двойную загрузку с Windows XP на моем новом компьютере с Windows Vista?
Чаще всего меня спрашивают: «Как установить двойную загрузку с Windows XP на моем новом компьютере с Windows Vista?». Ответ в том, что это не так сложно, просто очень много времени, и вам нужно иметь копию Windows XP. Обратите внимание, что вы не должны пытаться сделать это, если вы не готовы решать любые проблемы, которые могут возникнуть. Первая проблема, с которой мы сталкиваемся, заключается в том, что компьютеры с предустановленными операционными системами занимают весь
Кто может использовать Garmin Pay?
Кто может использовать Garmin Pay? В Польше следующие банки теперь имеют доступ к услуге Garmin Pay: Сантандер Банк С.А. (ранее BZ WBK SA), PKO Bank Polski SA, Nest Bank SA (только для карт Visa)., Гетин Банк Услуга Garmin Pay доступна только владельцам и пользователям следующих моделей часов: vívoactive® 3; vívoactive 3 Музыка; D2 ™ Delta S; Д2 Дельта; D2
Мы «разобрали» лидера рынка: насколько уверен Макафи на самом деле и как он поживает в тесте 2019 года?
Мы «разобрали» лидера рынка: насколько уверен Макафи на самом деле и как он поживает в тесте 2019 года? Avira Antivirus 2019 обзор Убийца вирусов считается одним из лучших убийц вирусов в мире. В Германии вряд ли найдется кто-нибудь, кто не знает антивирусную
Я создал веб-приложение на Python, и как мне его развернуть?
Я создал веб-приложение на Python, и как мне его развернуть? Я хочу научиться кодировать веб-приложение на Python с использованием фреймворка. Что такое интерфейсы программирования веб-приложений (API)?

Почему так случилось?
Есть ли простой способ сделать это?
Garmin Pay - что это?
Если вам приходится использовать фиктивные тексты, почему бы не использовать лучшие из лучших?
Какой твой любимый генератор пустых текстов?
Мы пропустили какие-нибудь хорошие?
Вместо этого, мы должны перейти на тонкий клиент и развернуть службы терминалов или Citrix, или мы могли бы использовать браузер?
Вместо этого, мы должны перейти на тонкий клиент и развернуть службы терминалов или Citrix, или мы могли бы использовать браузер?
Верите ли вы в ТШО?
Как вы отслеживаете свои путешествия?