8-900-374-94-44
[email protected]
Slide Image
Меню

Учебник stm32: Учебник STM32 — описание, программирование, отличие от Arduino

Содержание

Изучайте STM8 и STM32 по методичкам на русском языке!

28 июля 2014

STMicroelectronicsновость

На сайте КОМПЭЛ размещены новые методические материалы на русском языке по программированию микроконтроллеров STM8 и STM32. Учебные материалы представляют собой инструкции к лабораторным работам на базе недорогих отладочных плат STM8SVLDISCOVERY, STM32F3DISCOVERY и STM32F4DISCOVERY. Рассчитанные на начинающих разработчиков, лабораторные работы пошагово учат работать с разнообразной периферией микроконтроллеров — портами ввода-вывода, таймерами, ШИМ, АЦП, компаратором, интерфейсами USART, I²C и SPI.

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

Содержание методических материалов:

ЛАБОРАТОРНЫЙ ПРАКТИКУМ по изучению микроконтроллеров STM8 на базе отладочного модуля STM8SVLDISCOVERY
  • Лабораторная работа №1. Работа с портами ввода/вывода
  • Лабораторная работа №2. Использование внешних прерываний
  • Лабораторная работа №3. Использование таймеров. Организация задержек
  • Лабораторная работа №4. Использование таймеров Режим ШИМ
  • Лабораторная работа №5. Работа с UART
  • Лабораторная работа №6. Работа с SPI
  • Лабораторная работа №7. Работа с аналогово–цифровым преобразователем

Скачать

ЛАБОРАТОРНЫЙ ПРАКТИКУМ по изучению микроконтроллеров STM32 на базе отладочного модуля STM32F3DISCOVERY
  • Лабораторная работа №1. Работа с портами ввода/вывода
  • Лабораторная работа №2. Работа с внешними прерываниями
  • Лабораторная работа №3. Работа с АЦП. Устройства индикации
  • Лабораторная работа №4. Организация последовательной передачи информации. Интерфейс UART
  • Лабораторная работа №5. Использование аналогового компаратора
  • Лабораторная работа №6. Операционный усилитель

Скачать

ЛАБОРАТОРНЫЙ ПРАКТИКУМ по изучению микроконтроллеров STM32 на базе отладочных модулей STM32F3DISCOVERY и STM32F4DISCOVERY.
Лабораторная работа №1. Изучение интерфейса SPI в STM32F3 Discovery
  • Лабораторная работа №2. Изучение интерфейса I2C. Работа с EEPROM-памятью
  • Лабораторная работа №3. Подключение матричной клавиатуры
  • Лабораторная работа №4. Использование датчиков. Работа с акселерометром

Скачать

Материалы на постоянной основе размещены по следующему адресу: Библиотека → Справочники → Литература производителя ST Microelectronics.

•••

Наши информационные каналы
О компании ST Microelectronics

Компания STMicroelectronics является №1 производителем электроники в Европе. Компоненты ST широко представлены в окружающих нас потребительских товарах – от iPhone до автомобилей разных марок. Лидеры индустриального рынка выбирают компоненты ST за их надежность и выдающиеся технические параметры. В компании ST работает 48 000 сотрудников в 35 странах. Производственные мощности расположены в 12 странах мира. Более 11 тысяч сотрудников заняты исследованиями и разработками – инновационное лидерство …читать далее

STM32F4xx_Поваренная книга анархиста / stm32 / Сообщество разработчиков электроники


/*————————————————————————————————-
* Name: Поваренная книга анархиста программиста
* микроконтроллерных систем на базе микропроцессора ARM
* Cortex M4F (среда разработки Keil uVision4 v4.73.0.0)
*—————————————————————————————————
* Copyright © All rights reserved. Maltsev Alexey. 2014
* vk.com/id233978561
* [email protected]
* ICQ: 457-568-689
*————————————————————————————————*/

Буэнос диас!
Итак, что у нас в меню:

Keil uVision4 (последняя версия на момент написания статьи v4. 73.0.0)
rutracker.org/forum/viewtopic.php?t=2305709

STM32 ST-LINK utility
www.st.com/web/catalog/tools/FM146/CL1984/SC720/SS1454/PF219866

Дрова на плату STM32F4DISCOVERY под Windows
www.st.com/web/en/catalog/tools/FM146/CL1984/SC724/SS1677/PF251168

Тестовая плата STM32F4DISCOVERY
Библиотека STM32F4xx_DSP_StdPeriph_Lib_V1.3.0

STM32F4DISCOVERY

STM32F4DISCOVERY — плата для быстрого и удобного изучения микроконтроллеров серии STM32F4, ориентированных на мультимедийные приложения.

На плате установлен 32-битный ARM-микроконтроллер STM32F407VGT6 семейства Cortex-M4F со следующими характеристиками:
• Корпус LQFP100 (100 ножек)
• Напряжение питания: 1.8 — 3.6 В
• Частота: до 168 МГц
• Память программ (Flash): 1 МБайт
• ОЗУ (RAM): 196 Кбайт
• 4 Кбайт backup SRAM (аналог EEPROM)
• Поддержка инструкций DSP и чисел с плавающей точкой
• 16-битные таймеры: 2 базовых таймера, 8 таймеров общего назначения, 2 продвинутых таймера, 2 watchdog
• 2 32-битных таймера общего назначения
• USB 2. 0 full-speed device/host/OTG со своим PHY на борту
• USB 2.0 high-speed/full-speed device/host/OTG с отдельным DMA, со своим full-speed PHY на борту, есть поддержка ULPI
• 10/100 Ethernet MAC с отдельным DMA, поддержка PHY-микросхем с интерфесами IEEE 1588v2, MII/RMII
• 3x SPI (37.5 МБит/с), 2 из них с мультиплексированными полнодуплексными I2S для качественной передачи звука
• 3x I2C с поддержкой SMBus/PMBus
• 4x USART, 2x UART: 10.5 МБит/с, интерфейс ISO 7816, LIN, IrDA, modem control
• 2x CAN (2.0B Active)
• SDIO (для SD-карт)
• DCMI — [от 8 до 14]-битный параллельный интерфейс камеры (до 54 МБайт/с)
• Аналоговый генератор случайных чисел
• Встроенный модуль расчёта CRC
• 82x GPIO (выводы I/O)
• RTC (Real-Time Clock)
• 3 12-битных АЦП, 2.4 миллиона выборок в секунду, 16 каналов, 7.2 миллиона выборок в секунду в режиме тройного чередования
• 2 12-битных ЦАП
• Контроллер DMA с 16 каналами и поддержкой FIFO и пакетной передачи
• Параллельный интерфейс LCD, режимы 8080/6800
• FSMC — контроллер статической памяти с поддержкой Compact Flash, SRAM, PSRAM, NOR и NAND
• Возможность отладки по JTAG или SWD


Что ещё установлено на плате:
• Отладчик ST-Link для отладки и прошивки МК, выведен разъём SWD для программирования других плат и контролллеров
• Есть выводы для внешнего питания 5 и 3 В
• Есть кнопка сброса
• Четыре светодиода и одна кнопка, доступные для программирования
• Все 100 выводов МК выведены по бокам платы штырьками по два ряда

• LIS302DL — MEMS-датчик движения, 3х-осевой цифровой акселерометр
• MP45DT02 — цифровой MEMS-микрофон
• CS43L22 — аудио-ЦАП со встроенным драйвером динамиков класса D
• Для USB OTG выведен разъём micro-USB. Если плату с заводской прошивкой подключить через этот разъём к компьютеру, то она будет вести себя как джойстик класса USB HID.

STM32 ST-LINK Utility

Данную программу удобно использовать для прошивки микроконтроллера при помощи hex файла.
Подсоединяем плату к ПК при помощи кабеля USB – miniUSB. Нажимаем на панели инструментов Connect.



Выбираем hex файл для прошивки (можно просто перетащить файл в основное окно программы).



Прошиваем плату


Результаты прошивки отображаются в командной строке.

Keil uVision4

Монстр программирования. Умеет делать абсолютно все, даже то, что не умеет 😉

Создадим новую папку, куда будем помещать все наши проекты. Например, STM32. В этой папке создадим папку для первого проекта. Назовем ее 00_Test. Так же в папке STM32 создадим папку _Lib – сюда мы поместим фалы библиотек CMSIS и Standard Peripheral Library, и каждый новый проект будет ссылаться на эту папку в поиске библиотек.
В папке 00_Test создадим папки:
Project – здесь будут служебные файлы, которые будет создавать программа Keil uVision4 для данного, конкретного проекта.
user – файлы пользовательского кода (программа, которая будет зашиваться в микроконтроллер). В этой папке создаем текстовый файл main.c. Напишем в нем коротенький код

#include «stm32f4xx.h»
int main(void)
{
while(1) {}

}

Этот код нам понадобится потом.

P.S.: имена папок, а так же структура проекта – личное дело программиста, но надо стремиться к упорядоченному структурированию, чтобы проект был “читабельным” для других программистов. Папку Project можно и не создавать, но тогда все служебные файлы будут “замусоривать” корневой каталог папки 00_Test.

Вот, что должно получится:


Теперь разберемся с библиотеками.

Будем использовать 2 библиотеки:

1. CMSIS (выпускает фирма ARM)
2. Standard Peripheral Library (выпускает фирма STMicroelectronics)

Обе библиотеки бесплатны и доступны для скачивания (эти две библиотеки объединены в одном архиве) на www. st.com/

Причем есть два варианта библиотеки.

1. Библиотека для микроконтроллера STM32F407VGT6 вообще STM32F4xx_DSP_StdPeriph_Lib_V1.3.0 (stm32f4_dsp_stdperiph_lib.zip)

www.st.com/web/catalog/mmc/FM141/SC1169/SS1577/LN11/PF252140?s_searchtype=partnumber#



2. Библиотека конкретно для тестовой платы STM32F4DISCOVERY STM32F4 -Discovery_FW_V1.1.0 (stsw-stm32068.zip)

www.st.com/web/en/catalog/tools/FM147/CL1794/SC961/SS1743/PF257904?s_searchtype=keyword

Мы будем пользоваться библиотекой STM32F4xx_DSP_StdPeriph_Lib_V1.3.0

Заходим в папку
STM32F4xx_DSP_StdPeriph_Lib_V1.3.0

Libraries

И копируем две папки CMSIS и STM32F4xx_StdPeriph_Driver в нашу папку _Lib

Удаляем в папке CMSIS (которую мы скопировали в _Lib) все, кроме папки Device.

Заходим в папку
STM32F4xx_DSP_StdPeriph_Lib_V1.3.0

Project

STM32F4xx_StdPeriph_Examples

ADC

ADC_DMA

Копируем файл stm32f4xx_conf.

h в нашу папку STM32F4xx_StdPeriph_Driver
Далее проделаем следующие манипуляции:

_Lib

CMSIS

Device

ST

STM32F4xx

Include

В свойствах файлов stm32f4xx.h и system_stm32f4xx.h снимаем галочку “Только чтение”

Запускаем программу Keil uVision4 и создаем новый проект.


Путь для проекта указываем:
STM32

00_Test

Project

Имя проекта Test


Далее программа предлагает автоматически создать файл конфигурации данного микроконтроллера – startup_stm32f40xx.s. Соглашаемся.


В итоге получили:


Переименуем папку Source Group 1 (в которую программа поместила файл конфигурации микроконтроллера startup_stm32f40xx.s) в startup. Для этого щелкаем один раз левой кнопкой мыши по имени папки и нажимаем F2 – имя папки теперь доступно для переименования.

Аналогичным образом переименовываем имя проекта из Target 1 в 00_Test.

Добавляем в проект папку user:


Добавим ранее созданный файл main.c. в папку user. Для этого дважды щелкаем левой кнопкой мыши по заголовку папки (или при помощи правой кнопки вызываем контекстное меню).



Итак, мы создали на жестком диске папку проекта 00_Test. В этой папке создали еще две папки: Project и user.
Project – тут программа будет размещать свои служебные файлы и главный файл проекта Test.uvproj
user – тут мы будем размещать файлы кода, который будем загружать в микроконтроллер.
В среде программирования Keil uVision4 создали новый проект 00_Test. В структуре проекта сейчас две папки: startup и user
startup – в этой папке находится файл конфигурации микроконтроллера
user – в этой папке содержатся файлы из папки user, которая была создана ранее на жестком диске.

На жестком диске больше никаких папок создавать не будем. Но в среде программирования в структуре проекта создадим еще две папки: CMSIS и StdPeriphLib. В этих папках будут содержаться наши библиотеки.

Подключим к этим папкам необходимые файлы из папки _Lib.

Для CMSIS:
_Lib

CMSIS

Device

ST

STM32F4xx

Source

Templates

system_stm32f4xx.c

Для StdPeriphLib:
_Lib

STM32F4xx_StdPeriph_Driver

src

все файлы (кроме файла stm32f4xx_fmc.c)

В опциях проекта необходимо указать пути к этим папкам библиотек






В папке user откроем файл main.c, щелкаем правой кнопкой мыши по #include «stm32f4xx.h», и выбираем Open…


Далее снимаем комментарии в тех местах кода, как показано ниже




Далее необходимо настроить проект:





Запускаем компиляцию проекта – F7.

Если все правильно, то ошибок не должно быть.

Напишем несложный код для мигания светодиодом

Обращаю внимание, что код должен заканчиваться пустой строкой (строка №45).

Запустим компиляцию (F7). Теперь можно “зашить” проект в микроконтроллер:


Если все было сделано правильно, то на тестовой плате должен мигать зеленый светодиод. Чтобы выйти из окна отладчика, нажимаем Ctrl+F5.

УРА!!!
Продолжение следует…

Практический курс STM32. Урок 0

Предисловие
Примерно год назад, освоив MSP430 я решил подобраться к ARM. Купил себе F4-Discovery, но вот засада, если у Texas Instruments был отличнейший учебник, который позволял на практике освоить MSP в кратчайшие сроки, то с STM32 дела обстояли намного хуже: половина уроков была по серии F0(Cortex-M0 слегка далек от M4 знаете ли), остальные же уроки либо были предназначены для людей имевших ранее дело с ARM, либо основывалась на магии, то есть «вставляем вот этот кусок кода, нажимаем такую-то кнопку, смотрим на плату. Ура, светодиоды мигают, поздравляем» без объяснений что какой кусок кода делает.

Но недавно я решил все-таки достать пыльный Discovery и освоить STM32 от и до. Думаю лучший способ сделать это — написать цикл обучающих статей(если хотите, конспект).

О чем и для кого этот курс
Прежде всего хочу сразу оговорить, что в основном курс будет касаться серии STM32-F4. Это Cortex-M4, который является прямым наследником Cortex-M3(STM32- L1, F1, F2) и отличается от него главным образом ядром с наличием DSP (цифрового сигнального процессора) и FPU (модуля операций с плавающей запятой).

Второй момент. Курс предназначен для новичков и многие конечно сочтут приведенные в нем описания базовых вещей слишком элементарными и излишними, но я не считаю, что освоение STM32 нужно начинать с освоения 8051, PIC’ов и AVR’ок, зачем? Времена когда компании-производители ограничивались выпуском лишь даташитов в качестве документации давно прошли: сейчас каждый производитель старается максимально популяризировать свой продукт и сегодня микроконтроллеры стали доступны широкой аудитории.
Не буду начинать холивар STM vs. AVR, скажу лишь, что Cortex — новее, дешевле и перспективнее.
Но есть два существенных недостатка, мешающих новичкам начинать знакомство с микроконтроллерами сразу с Cortex’ов:

  1. Мелкие корпуса — рекомендую посмотреть видео/почитать статьи по пайке и обзавестись более-менее приличным инструментом.
  2. Отсутствие единого руководства. Надеюсь мой курс сильно сэкономит вам время в поиске документации или руководства как провернуть ту или иную операцию.
Все что хотел сказать в предисловии — сказал. Ну что? Поехали.
Документация
Обзор платы F4-Discovery можно посмотреть тут. На плате установлен камень STM32F407VG. Идем за документацией к нему сюда(ссылку стоит добавить в закладки), открываем вкладку Design Resources, скачиваем:
  1. Из Product SpecificationsDS8626: ARM Cortex-M4 32b MCU+FPU, 10DMIPS, up to 1MB Flash/192+4KB RAM, USB OTG HS/FS, Ethernet, 17 TIMs, 3 ADCs, 15 comm. interfaces & camera. Это Даташит, в нем описана конкретная специфика конкретного контроллера семейства. Даташит как бы уточняет и дополняет Справочное руководство(о нем чуть ниже).
  2. Из Reference ManualRM0090: STM32F405xx/07xx, STM32F415xx/17xx, STM32F42xxx and STM32F43xxx advanced ARM-based 32-bit MCUs. Это то самое Справочное руководство(далее — СР). Оно описывает серию из нескольких микроконтроллеров. Этот документ станет основным талмудом по части железа. В Даташит же будем лезть когда чего-то не найдем в СР или если нам потребуется что-либо уточнить. Обычно в таких случаях в СР дается прямая отсылка, мол «смотрите даташит на конкретный кристалл»
  3. Из Related Tools and SoftwareSTSW-STM32065: STM32F4 DSP and standard peripherals library. Это просто гениальная библиотека от ST, которая значительно упрощает жизнь при написании и переносе кода, она позволяет думать на уровне архитектуры в целом, а не на уровне скажем регистров. Даже не знаю, почему ST ее так запрятала, видимо скромничают =). Из скачанного архива нам потребуется файл «stm32f4xx_dsp_stdperiph_lib_um.chm«. Он представляет собой автоматически собранную из сопровождения к коду библиотеки документацию, следовательно то же самое можно увидеть и в .h или .c файлах. Тут уже кому как удобнее. Остальные файлы из архива нам не понадобятся, так как библиотеку будем подключать непосредственно из «репозитория» IDE.

Ну и поскольку в качестве отладочной платы у нас фигурирует F4-Discovery, неплохо бы знать, куда что подключено. Не вопрос, идем сюда(рекомендую также добавить в закладки) и скачиваем:
  1. Из User ManualUM1472: Discovery kit for STM32F407/417 lines. Это руководство к плате. Рекомендуется заглядывать сюда перед тем, как что-то к ней подключить.
  2. Из Schematic PackSTM32F4DISCOVERY schematics(а больше и нечего). Достаем из архива pdf’ку со схемами, кладем к остальным документам.
Кстати тут же в Related Tools and Software есть набор с туевой хучей примеров на все случаи жизни, но он нам пока не понадобиться, ведь у нас курс «с нуля»
Установка IDE
Выбор IDE для Cortex’ов действительно велик. Сама ST рекомендует использовать следующие:
  • Keil MDK-ARM
  • IAR Embedded Workbench for ARM (EWARM)
  • Atollic TrueSTUDIO
  • Altium TASKING VX-Toolset

Но мы ST не послушаем. Все эти IDE коммерческие и стоят денег. Есть у них и бесплатные версии с ограничениями(и их вполне достаточно для начала), но ограничения — это не по-джедайски. В качестве альтернативы будем использовать бесплатную CooCox CoIDE(в простонародье — кокос), которая не уступает коммерческим. Она основана на Eclipse и самодостаточна. Версии для Linux у них правда нет(только обещают ее скоро сделать). Но думаю линуксоиды без проблем могут собрать что-то подобное из Eclipse+ARM Plugin+GCC ARM Toolchain. Нам же никаких плясок с бубном ни во время установки, ни во время использования не потребуется, все вкусности «из коробки». Приступим же к установке.
  1. Идем на ST и скачиваем ST-LINK utility. Устанавливаем. Эта штука является продвинутым программатором(только не подумайте что мы будем отладки ради зашивать через нее в камень скомпилированный код — нет, у нас ведь для таких целей есть кокос). Кстати в случае необходимости можно обновить ПО самого ST-Link(встроенный в Discovery программатор) через нее же. Отдельно драйвера ставить не нужно, они в этот установщик уже включены.
  2. Идем на оффсайт кокоса и скачиваем CoIDE. Устанавливаем. Крайне рекомендую скачивать и устанавливать через CoCenter, он значительно упрощает обновление в дальнейшем.
  3. Идем на ланчпад и скачиваем последнюю версию любезно собранного для нас тулчейна (gcc-arm-none-eabi-тратата-win32.exe). Устанавливаем, лучше директорию установки не менять.
  4. Открываем CoIDE. Сверху нажимаем Project -> Select Toolchain Path

    Ну и выбираем директорию установки тулчейна, а в ней bin.



P.S.
На сегодня все, спасибо за внимание. Завтра напишу урок 1, там познакомимся с GPIO.

Кто-нибудь знает какие-нибудь очень простые учебники по stm32?



Недавно я начал работать над проектом,который требует процессора Cortex M3. У меня есть некоторый предыдущий опыт работы с 8-битными микроконтроллерами AVR, поэтому я надеялся на небольшой переход.

Поэтому я купил комплект Stm32l-Discovery (поскольку низкая мощность-важный момент) и начал рассматривать некоторые примеры. Однако я полностью застрял в самом начале. При программировании с AVR все было очень просто, просто включив 2 или 3 файла, можно было написать простой main.c для, скажем, мигающего LED.

Однако примеры в IAR EWARM (который я использую) все выглядят очень раздутыми, много файлов, которые затрудняют запуск. У меня такая же проблема с большинством онлайн-учебников.

Кто-нибудь знает какие-нибудь (очень) простые учебники, которые могли бы мне помочь? Я подумываю о покупке «The Definitive Guide to the ARM Cortex-M3», так как это очень рекомендуется.

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

cortex-m3 stm32
Поделиться Источник luc     11 января 2012 в 11:35

2 ответа


  • Кто-нибудь знает какой-нибудь хороший видеоурок для Emacs (основы)?

    Кто-нибудь знает какой-нибудь хороший видеоурок для Emacs (основы)? Я нашел очень хорошие учебники для Vim в Youtube и Vimeo . Но по какой-то причине все видеоуроки emacs имеют плохое качество (даже не могут прочитать код). Есть предложения? (Я знаю, что вы можете назвать меня ленивым читателем)

  • Кто-нибудь знает какие-нибудь хорошие учебники silverlight?

    Как говорится в названии 🙂 Я целую вечность ждал, когда Wrox выпустит Professional silverlight 2.0, но он был отложен почти на год, и я хочу сыграть с silverlight. Игнорируя сайт silverlight.net, кто-нибудь знает какие-нибудь хорошие учебники для начинающих, которые фокусируются на кодировании в…



3

Я полностью с вами согласен. Я тоже начинаю, и мне трудно даже поцарапать поверхность! У меня есть хороший опыт работы с PICs, но с ARMs кривая обучения действительно крутая.

Для STM32F4Discovery, который я использую, ST предоставляет ряд примеров. Начиная с простого переключения булавок. Я просматриваю файл main.c, который для каждого примера хорошо прокомментирован, и пытаюсь понять оттуда. У них есть библиотека периферийных устройств, так что найдите ее и посмотрите на объявления функций. Я узнал несколько таких вещей.

Также убедитесь, что вы ссылаетесь на фактическое руководство ARM, которое вы используете.

Я думаю, все сводится к тому, сколько времени вам придется потратить. Что касается меня, то у меня нет времени, чтобы просмотреть руководство и понять, как все работает. Если вы найдете несколько хороших источников, пожалуйста, опубликуйте их!

В заключение я вставляю пару URL-адресов, которые я нашел полезной информацией:

http:/ / www.hitex.com / index. php? id=download-insiders-guides

http:/ / www.micromouseonline.com / категория / stm32 / #axzz1wMO2VjAI

Поделиться Demetris     30 мая 2012 в 13:40



0

Я бы предложил использовать CMSIS и стандартную периферийную библиотеку для программирования ARM Cortex. Вот несколько руководств о том, как настроить вещи и начать писать код: http://www.embedds.com/arm-cortex-tutorials/

Поделиться ScienceProg     27 января 2013 в 23:54


Похожие вопросы:


Кто-нибудь знает какие-нибудь механизмы репутации пользователей?

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


Какие-Нибудь XML/XSD Учебники Для Новичка?

Кто-нибудь знает какие-нибудь учебники о XSD/XML для новичка, которые объясняют вещи просто, но очень подробно рассказывают о том, как это делать?


Кто-нибудь знает о каких-нибудь коллекциях sprite?

Я делаю игру 2D Java. Я хочу, чтобы игра выглядела красиво, поэтому мне нужны хорошие спрайты, но я хочу сосредоточиться на кодировании игры, а не на графическом дизайне. Этот проект имеет…


Кто-нибудь знает какой-нибудь хороший видеоурок для Emacs (основы)?

Кто-нибудь знает какой-нибудь хороший видеоурок для Emacs (основы)? Я нашел очень хорошие учебники для Vim в Youtube и Vimeo . Но по какой-то причине все видеоуроки emacs имеют плохое качество (даже…


Кто-нибудь знает какие-нибудь хорошие учебники silverlight?

Как говорится в названии 🙂 Я целую вечность ждал, когда Wrox выпустит Professional silverlight 2.0, но он был отложен почти на год, и я хочу сыграть с silverlight. Игнорируя сайт silverlight.net,…


Кто-нибудь знает какие-нибудь хорошие учебники для Slick 2D lib?

Существует графическая библиотека 2D java под названием Slick 2D ( http: / / slick.cokeandcode.com/ ), которая, кажется, используется кучей инди-игр (в основном апплетов), но документации немного не…


Простые учебники по алгоритмам?

Я хочу изучить алгоритмы, используя некоторые очень простые простые учебники. Есть ли они там? Я слышал о рекурсии и прочем, и мне бы хотелось научиться этому хорошему. Любая помощь будет оценена по…


Кто-нибудь знает какие-нибудь хорошие генераторы автоформ PHP Codeigniter?

Я погуглил это, но хотел посмотреть, каков был общий консенсус по stack overflow. Кто-нибудь знает какие-нибудь хорошие генераторы автоформ PHP Codeigniter? Я хочу иметь возможность создавать…


Какие — нибудь примеры/учебники по использованию Google GData API-Youtube на iphone?

Мне нужно перечислить конкретных пользователей, загрузивших видео (YouTube) в UITableView. Я скачал исходный код GData и примеры проектов (не конкретно iphone), но, похоже, не могу заставить его…


Какие-нибудь up-to-date учебники Экспресс-4.0 с Node.js?

Я пытаюсь выучить Node.js и использую Lynda.com, книгу Node.js в действии, и я рыскал по интернету, пытаясь найти онлайн-учебники для текущих версий Express (Express ~4.2) с Node. js. Почти все, что…

Учебное пособие для серии STM32 Basic 38-Lwip_http

Предисловие

HTTPПротокол передачи гипертекста (HyperText Transfer Protocol) является наиболее широко используемым протоколом сетевой передачи в Интернете. Все документы WWW должны соответствовать этому стандарту. HTTP — это протокол связи, основанный на TCP / IP для передачи данных (файлы HTML, файлы изображений, результаты запросов и т. Д.).

HTTPПротокол работает по архитектуре клиент-сервер. В качестве HTTP-клиента браузер отправляет все запросы HTTP-серверу, т. Е. WEB-серверу, через URL-адрес. К веб-серверам относятся: сервер Apache, сервер IIS (информационные службы Интернета) и т. Д. Веб-сервер отправляет клиенту ответную информацию в соответствии с полученным запросом. Номер порта HTTP по умолчанию — 80, но вы также можете изменить его на 8080 или другие порты.

В этом разделе мы изучим stm32 + LWIP для создания HTTP-сервера. См. Ниже конкретную реализацию.

Подробные примеры

На основе аппаратной платформы: модель MCU — STM32F407VGT6, используйте проект конфигурации, автоматически сгенерированный инструментом stm32cubemx, и используйте KEIL5 для компиляции кода. Принципиальная схема самой маленькой системной платы, используемой в этом примере:

 

    1. Работа инструментов CUBEMX и KEIL не будет подробно объяснена.Если вы не знакомы с ними, вы можете проверить предыдущий учебный документ. Конфигурация проекта представлена ​​непосредственно ниже:

 

      1. Дерево системных часов

 

 

 

 

 

      1. Конфигурация сетевого порта

      1. RCCКонфигурация

      1. SYSКонфигурация

      1. ADCКонфигурация

 

      1. LwipКонфигурация (параметры можно оставить по умолчанию)

 

      1. Конфигурация контактов

 

      1. Конфигурация прерывания (просто оставьте значение по умолчанию)

 

 

    1. Инженерный кодекс
      1. Добавьте в main. c код, показанный на рисунке ниже:

Заодно добавляем в проект заранее подготовленный файл fs.c httpd.c httpd_cgi_ssi.c и указываем соответствующий путь к файлу .h:

Обратите внимание, что файлы fsdata.c и fsdata.h также включены в следующий путь:

    1. Скомпилируйте проект, загрузите код, ip автоматически назначается маршрутизатору, если сетевой порт устройства и LWIP работают успешно, мы также должны увидеть наше устройство в списке маршрутизаторов: проверьте список устройств маршрутизатора:

Введите прямо в браузере:http://192.168.1.103:80 Войти:

Результат, показанный на приведенном выше рисунке, показывает, что мой stm32 http был успешно построен. Нажмите LED CONROL и строку состояния ADC, чтобы получить следующие интерфейсы:

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

 

OK,Этот эксперимент завершен! Увидимся в следующий раз! В то же время, если у вас есть какие-либо вопросы или другой контент, который вы хотите знать, оставьте сообщение! ! Наконец, студенты, которым нравится этот публичный аккаунт, не забывают уделять больше внимания, будут выпущены нерегулярные технические сухие товары! !

Загрузите исходный код в статье,Отправьте сообщение Shisan в паблик аккаунте:

скачать|STM32Учебник серии Basic 38

 

Следуйте за 13 паблик

 

ME-mikromedia for STM32 M3 (mikroElektronika)

Mikromedia for STM32 M3 – представляет собой компактную высококачественную платформу для разработки мультимедийных приложений на основе микроконтроллера STM32F207NGT6. На плате установлен мультимедийный модуль с большим цветным TFT дисплеем с сенсорной панелью и разрешением 320х240, а также микросхема MP3 кодека с большой производительностью. Все это дает широкие возможности для построения полноценных мультимедийных приложений.

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

Mikromedia for STM32 M3 поставляется с микроконтроллером, на который предварительно установлен USB HID загрузчик, поэтому плата готова к работе прямо из коробки. Таким образом, нет необходимости в дополнительных затратах на покупку программатора. Тем не менее, для тех, кто считает, что для полноценной работы программатор необходим, производитель рекомендует использовать отладчик mikroProg™ for STM32.  Mikromedia for STM32 M3 полностью поддерживается компиляторами для ARM микроконтроллеров  mikroC, mikroBasic и mikroPascal, которые поставляются с десятками примеров практически для всех функциональных узлов платы. Кроме того, используя Visual TFT software, можно очень просто создать фантастический полноцветный графический интерфейс пользователя (GUI).

Рис. 1. Mikromedia for STM32 M3. Вид сверху

Рис. 2. Mikromedia for STM32 M3. Вид снизу

Отличительные особенности:

  1. Кнопка сброса
  2. Контакты для разъема
  3. TFT 320×240 дисплей
  4. Разъем USB MINI-B
  5. Светодиодный индикатор заряда
  6. Разъем Li-Po батареи
  7. Разъем наушников 3. 5 мм
  8. Стабилизатор напряжения питания
  9. Кварцевый резонатор
  10. VS1053 стерео MP3 кодек
  11. STM32F207NGT6
  12. Акселерометр
  13. Последовательная флэш память
  14. Держатель microSD card
  15. Светодиод индикатора питания
  16. Разъем JTAG/SWD

Комплектация:

  1. Плата Mikromedia for STM32 M3
  2. USB кабель и три разъема (2 x PLS-26, 1 x PLD-5)
  3. Учебник пользователя и схема платы
  4. DVD с документацией и примерами программ

Дополнительную информацию можно найти на сайте производителя.

Отслеживание adc — цифро-аналоговое преобразование

Отслеживание АЦП

Глава 13 — Цифро-аналоговое преобразование

Третья вариация на тему конвертера на основе ЦАП, по моему мнению, является самой элегантной. Вместо обычного счетчика «вверх», ведущего ЦАП, эта схема использует счетчик вверх / вниз. Счетчик непрерывно синхронизируется, а управляющая линия вверх / вниз управляется выходом компаратора. Таким образом, когда аналоговый входной сигнал превышает выход ЦАП, счетчик переходит в режим «подсчет». Когда выход ЦАП превышает аналоговый вход, счетчик переключается в режим «обратного отсчета». В любом случае, выход ЦАП всегда учитывается в правильном направлении для отслеживания входного сигнала.

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

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

Обратите внимание на гораздо более быстрое время обновления, чем любая другая «подсчет» схем АЦП. Также обратите внимание, как в самом начале графика, где счетчик должен «догнать» аналоговый сигнал, скорость изменения для выхода была идентична скорости первого счетного АЦП. Кроме того, при отсутствии сдвигового регистра в этой схеме двоичный выход фактически увеличивался бы, а не прыгал с нуля на точный счет, как это было со схемами счетчика и последовательного приближения АЦП.

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

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

Как создать свою собственную плату микроконтроллера STM32

В этом пошаговом руководстве вы узнаете, как создать свою собственную плату микроконтроллера на основе популярного микроконтроллера STM32 от ST Microelectronics.

Опубликовано Джон Тил

Я разделю весь процесс проектирования на три основных этапа:

ШАГ 1 — Проектирование системы
ШАГ 2 — Проектирование схемотехники
ШАГ 3 — Проектирование компоновки печатной платы

Шаг 1 — Система / Эскизный проект

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

Проектирование системы состоит в основном из двух этапов: создание блок-схемы и выбор всех критических компонентов (микрочипов, датчиков, дисплеев и т. Д.). Системный дизайн рассматривает каждую функцию как черный ящик

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

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

Блок-схема

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

Блок-схема должна включать блок для каждой основной функции, взаимосвязи между различными блоками, определенные протоколы связи и любые известные уровни напряжения (входное напряжение питания, напряжение батареи и т. Д.).

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

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

Блок-схема системного уровня. Блоки желтого цвета включены в это начальное руководство.

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

Выбрать микроконтроллер

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

Если вы регулярно читаете этот блог, то знаете, что я большой поклонник микроконтроллеров ARM Cortex-M. Микроконтроллеры Arm Cortex-M — самая популярная линейка микроконтроллеров, используемых в коммерческих электронных продуктах. Они используются в десятках миллиардов устройств.

Микроконтроллеры

от Microchip (включая Atmel) могут доминировать на рынке производителей, но Arm доминирует на рынке коммерческих продуктов.

Arm не производит чипы напрямую.Вместо этого они разрабатывают архитектуры процессоров, которые затем лицензируются и производятся другими производителями микросхем, включая ST, NXP, Microchip, Texas Instruments, Silicon Labs, Cypress и Nordic.

ARM Cortex-M — это 32-разрядная архитектура, которая является фантастическим выбором для более ресурсоемких задач по сравнению с тем, что доступно для более старых 8-разрядных микроконтроллеров, таких как ядра 8051, PIC и AVR.

Микроконтроллеры

Arm бывают разных уровней производительности, включая Cortex-M0, M0 +, M1, M3, M4 и M7.Некоторые версии доступны с блоком с плавающей запятой (FPU) и обозначены буквой F в номере модели, например Cortex-M4F.

Одним из самых больших преимуществ процессоров Arm Cortex-M является их низкая цена при требуемом уровне производительности. Фактически, даже если для вашего приложения достаточно 8-битного микроконтроллера, вы все равно должны рассмотреть 32-битный микроконтроллер Cortex-M.

Существуют микроконтроллеры Cortex-M по ценам, очень сопоставимым с некоторыми из старых 8-битных чипов.Основание вашего дизайна на 32-битном микроконтроллере дает вам больше возможностей для роста, если вы захотите добавить дополнительные функции в будущем.

STM32 от ST Microelectronics — моя любимая линейка микроконтроллеров ARM Cortex-M.

Хотя многие производители микросхем предлагают микроконтроллеры Cortex-M, мне больше всего нравится серия STM32 от ST Microelectronics. Линия микроконтроллеров STM32 довольно обширна и предлагает практически любые функции и уровень производительности, которые вам когда-либо понадобятся.Линия STM32 может быть разбита на несколько подсерий, как показано в Таблице 1 ниже.

Серия STM32 Cortex-Mx Макс. Частота (МГц) Производительность (DMIPS)
F0 M0 48 38
F1 м3 72 61
F3 M4 72 90
F2 м3 120 150
F4 M4 180 225
F7 M7 216 462
H7 M7 400 856
L0 M0 32 26
L1 м3 32 33
L4 M4 80 100
L4 + M4 120 150

Таблица 1: Сравнение различных вариантов микроконтроллера STM32

Подсерии STM32F — это их стандартная линейка микроконтроллеров (в отличие от подсерии STM32L, которая специально ориентирована на более низкое энергопотребление). STM32F0 имеет самую низкую цену, но также и самую низкую производительность. На шаг впереди идут подсерии F1, за которыми следуют F3, F2, F4, F7 и, наконец, H7.

Для этого урока я выбрал STM32F042K6T7, который поставляется в 32-выводном корпусе с выводами LQFP. Я выбрал свинцовый пакет в первую очередь потому, что он упрощает процесс отладки, потому что у вас есть легкий доступ к контактам микроконтроллера. В то время как в безвыводном корпусе, таком как QFN, контакты спрятаны под корпусом, что делает доступ невозможным без контрольных точек.

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

Я выбрал STM32F042, потому что он предлагает умеренную производительность, хорошее количество контактов GPIO и различные последовательные протоколы, включая UART, I2C, SPI и USB. Это микроконтроллер STM32 довольно начального уровня, всего с 32 контактами, но с большим набором функций.Более продвинутые версии поставляются с 216 контактами, что было бы довольно сложно для вводного руководства.

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

Шаг 2 — Разработка принципиальной схемы

Принципиальная электрическая схема для этого первого руководства, показывающая микроконтроллер STM32, линейный регулятор, разъем USB и разъем для программирования.

Теперь, когда мы выбрали микроконтроллер, пришло время разработать принципиальную электрическую схему.Для этих руководств я буду использовать инструмент проектирования печатных плат под названием DipTrace.

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

Если у вас нет пакета проектирования печатной платы, вы можете рассмотреть возможность загрузки бесплатной версии DipTrace, чтобы вы могли внимательно следить за этим руководством. Они также предлагают бесплатную пробную версию своей полной версии. Лучший способ чему-то научиться — это всегда делать это на самом деле.

Для этого начального руководства достаточно бесплатной версии DipTrace, но для большинства проектов вам потребуется перейти на платную версию.

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

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

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

Конденсаторы

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

Начнем с размещения конденсатора 4,7 мкФ на входном контакте линейного регулятора. Это входное напряжение 5 В постоянного тока, поступающее от внешнего зарядного устройства USB. Это напряжение подается на линейный регулятор TLV70233, который понижает напряжение до 3,3 В, поскольку на микроконтроллер может подаваться только максимум 3,6 В.

Другой 4.Конденсатор емкостью 7 мкФ ставится на выходе стабилизатора как можно ближе к выводу. Этот конденсатор служит для накопления заряда для питания переходных нагрузок и стабилизирует внутренний контур обратной связи регулятора. Без выходного конденсатора большинство регуляторов начнут колебаться.

ПРИМЕЧАНИЕ: Обязательно загрузите бесплатное руководство в формате PDF 15 шагов для разработки нового электронного оборудования .

Разделительные конденсаторы должны быть размещены как можно ближе к выводам питания микроконтроллера (VDD).Всегда лучше обратиться к таблице данных микроконтроллера, чтобы получить рекомендации по разделению конденсаторов.

В таблице данных для STM32F042 рекомендуется разместить конденсатор емкостью 4,7 мкФ и 100 нФ рядом с каждым из двух выводов VDD (выводы входного питания). Также рекомендуется разместить развязывающие конденсаторы емкостью 1 мкФ и 10 нФ рядом с выводом VDDA.

Вывод VDDA предназначен для питания внутреннего аналого-цифрового преобразователя (АЦП) и должен быть особенно чистым и стабильным. Мы не используем АЦП в этом первом руководстве, но мы будем использовать его в будущем.

Обратите внимание, что вы обычно видите два размера конденсатора, указанные вместе для целей развязки. Например, конденсаторы 4,7 мкФ и 100 нФ.

Более крупный 4,7 мкФ может хранить больше заряда, что помогает стабилизировать напряжение, когда требуются большие скачки тока нагрузки. Конденсатор меньшего размера служит в основном для фильтрации любых высокочастотных шумов.

Распиновка микроконтроллера

Хотя STM32F042 предлагает широкий спектр функций, таких как интерфейсы связи UART, I2C, SPI и USB, вы не найдете ни одной из этих функций, обозначенных на распиновке микроконтроллера.Это связано с тем, что большинство микроконтроллеров назначают различные функции каждому выводу, чтобы уменьшить количество требуемых выводов.

Распиновка микроконтроллера STM32F042 в 32-выводном выводном корпусе LQFP.

Например, на STM32F042 вывод 9 помечен как PA3, что означает, что это вывод GPIO. При запуске эта функция автоматически назначается этому контакту. Но есть и альтернативные функции, которые можно указать в программе прошивки.

Контакт 9 может быть запрограммирован для выполнения следующих функций: входной контакт приема для последовательной связи UART, вход в аналого-цифровой преобразователь (АЦП), выход таймера или контакт ввода / вывода для контроллера емкостного сенсорного датчика. .

См. Таблицу определения выводов в таблице данных микроконтроллера (стр. 33 для STM32F042), в которой показаны все различные функции, доступные для каждого вывода. Всегда проверяйте, чтобы две функции, необходимые для вашего продукта, не перекрывались на одних и тех же контактах.

Часы

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

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

Основным недостатком RC-генератора является точность. Резисторы и конденсаторы (особенно встроенные в микрочип) значительно различаются от блока к блоку, что приводит к изменению частоты генератора. Температура также существенно влияет на точность.

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

Разъем для программирования

Программирование STM32 выполняется с помощью одного из двух протоколов: JTAG или Serial Wire Debug (SWD). Более продвинутые версии STM32 (STM32F1 и выше) предлагают интерфейсы программирования как JTAG, так и SWD. Подсерия STM32F0 предлагает только более простой интерфейс программирования SWD, поэтому мы сосредоточимся на этом в этом руководстве.

Интерфейс SWD требует всего 5 контактов. Это SWDIO (ввод / вывод данных), SWCLK (тактовый сигнал), NRST (сигнал сброса), VDD (напряжение питания) и заземление.

К сожалению, программатор ST-LINK, который вы будете использовать для программирования STM32, использует 20-контактный разъем JTAG (с функцией SWD). Этот разъем довольно большой и не подходит для небольших плат.

Вместо этого вы можете использовать плату адаптера с 20 контактов на 10 контактов, такую ​​как эта от Adafruit, чтобы вы могли использовать на плате 10-контактный разъем меньшего размера.

В этом руководстве мы будем использовать 10-контактный разъем. Если это все еще слишком велико для вашего проекта, вы всегда можете использовать 5-контактный разъем и перемычки от 20-контактного выхода программатора для подключения только 5 линий, необходимых для программирования SWD.

Мощность

Последняя часть схемы, которую мы рассмотрим, — это силовая часть. Микроконтроллер STM32 может питаться напряжением питания от 2,0 до 3,6 В. Если у вас нет источника переменного тока, вам понадобится встроенный стабилизатор, обеспечивающий соответствующее напряжение питания.

Для этой конструкции мы будем питать плату от внешнего зарядного устройства USB, которое выдает 5 В постоянного тока. Затем это напряжение подается на линейный регулятор напряжения (TLV70233 от Texas Instruments), который понижает его до стабильного 3,3 В.

Для STM32 требуется максимум 24 мА при условии, что ни один из выводов GPIO не потребляет ток (каждый вывод GPIO может подавать до 25 мА). Абсолютный максимальный ток, который когда-либо потребуется для STM32, составляет 120 мА, при условии, что различные контакты GPIO используют ток.

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

Проверка правил электрооборудования

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

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

Шаг 3 — Дизайн макета печатной платы (PCB)

После того, как схематический дизайн закончен, пора спроектировать печатную плату.Начните со вставки всех компонентов в компоновку печатной платы. В DipTrace вы можете использовать функцию «Преобразовать в печатную плату» в схеме, чтобы автоматически создать печатную плату со всеми вставленными компонентами.

Размещение компонентов

Несмотря на то, что все компоненты были вставлены, ваша задача — точно определить, где каждый компонент размещается на печатной плате.

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

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

Размещение критических компонентов в этой первоначальной конструкции: микроконтроллер (U1), регулятор (U2), разъем micro USB (J1) и разъем для программирования (JTAG-1).

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

Один из ключевых аспектов проектирования электроники, который вам необходимо изучить, — это концепция паразитов. Паразиты — это пассивные компоненты (резисторы, конденсаторы и катушки индуктивности), которые вы намеренно не добавляете в свою схему. Но, тем не менее, они есть и влияют на производительность.

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

Размещение всех критических компонентов (U1, U2, J1 и JTAG-1) и пассивных компонентов (конденсаторов).

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

Если микроконтроллеру внезапно требуется быстрый всплеск тока, это вызовет падение напряжения на этом резисторе трассировки.

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

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

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

Стек слоев печатной платы

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

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

Количество проводящих слоев всегда четное, поэтому вы можете получить плату с 2,4,6,8,10,12 проводящими слоями. Для большинства дизайнов потребуется 4-6 слоев, а для более сложных дизайнов может потребоваться 8 или более слоев.

Маршрут

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

Для автоматической маршрутизации в DipTrace вы просто выбираете Route -> Run Autorouter , и программное обеспечение автоматически выполнит всю маршрутизацию.

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

Разводка печатной платы (черные дорожки на верхнем слое, серые дорожки на нижнем слое)

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

A через — это отверстие между слоями с проводящим материалом, которое позволяет соединять вместе две дорожки на разных слоях. Большинство переходных отверстий известны как переходные отверстия от до , что означает переходные туннели через все слои платы.

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

Via # 1 — это классический сквозной переход, via # 2 — слепой переход, а via # 3 — скрытый переход.

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

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

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

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

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

Производители печатных плат

позволяют вам выбирать различную толщину проводящего слоя, обычно измеряемую в унциях на квадратный фут (oz / ft 2 ), но также измеряемую в миллиметрах (мил — одна тысячная дюйма) или миллиметрах.

Обычная толщина проводящего слоя составляет 1 унцию / фут 2 . В этом уроке я сделал линии электропитания шириной 10 мил. Использование калькулятора, связанного с приведенным выше, показывает, что дорожка размером 1 унцию / фут 2 шириной 10 мил на самом деле может пропускать почти 900 мА тока.

Очевидно, это намного больше, чем нам нужно, и я мог бы легко сузить линии снабжения. В первом уроке я показал, что абсолютный максимальный ток, требуемый STM32F042, составляет 120 мА.Возможно, удивительно, что для работы в 120 мА нам нужна только ширина дорожки 0,635 мил!

Минимальная ширина следа, допустимая для большинства процессов, составляет 4-6 мил. Следы минимальной ширины могут быть легко использованы для линий подачи в этой конструкции. При этом, чем шире кривая, тем меньше сопротивление и стабильнее напряжение питания на каждом компоненте.

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

Наконец, в калькуляторе вы заметите, что требования к внутренним и внешним слоям различаются. Для этого простого двухслойного дизайна оба слоя являются внешними, поэтому нам нужно использовать « Results for External Layers in Air ».

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

Завершенный макет печатной платы (PCB) для этого начального руководства.

Проверка

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

Существует два основных типа проверки: проверка правил проектирования (DRC) и схематическое сравнение.

DRC проверяет соблюдение всех правил проектирования печатных плат. Сюда входят такие правила, как минимально допустимая ширина дорожек, минимальный допустимый интервал между дорожками, минимальный интервал между дорожкой и краем платы и т. Д.

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

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

В DipTrace вы определяете правила проектирования, выбирая Проверка-> Правила проектирования . После того, как все правила были правильно определены, вы можете запустить DRC, выбрав Verification-> Check Design Rules.

После того, как вы убедились, что компоновка вашей печатной платы соответствует всем правилам проектирования, пришло время проверить, соответствует ли конструкция вашей печатной платы вашей принципиальной схеме. Для этого в DipTrace вы просто выбираете Verification-> Compare to Schematic .

В будущих уроках я покажу вам различные типы ошибок DRC и сравнения схем, а также способы их исправления.

Создание герберов

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

Для этого вам необходимо преобразовать проект компоновки печатной платы (который в настоящее время хранится в собственном файловом формате) в файловый формат промышленного стандарта, известный как Gerber.

Формат Gerber выводит каждый слой вашей конструкции печатной платы в виде отдельного файла. Сгенерированные слои — это намного больше, чем просто проводящие слои вашей платы. Некоторые из этих слоев включают:

1) Слои шелка — Включает текст и обозначения компонентов.

2) Монтажные слои — Аналогично шелковым слоям, но со специальными инструкциями по сборке.

3) Слои паяльной маски — указывает зеленый цвет на печатной плате, закрывающий любые проводники, к которым вы не хотите паять. Это предотвращает случайное замыкание во время пайки.

4) Слои паяльной пасты — Используется для точного размещения паяльной пасты в местах пайки.

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

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

Когда у вас есть Gerbers, файл Pick-and-Place и файл сверления, вы можете отправить эти файлы в любой магазин прототипов или изготовителю для производства вашей платы.

Сводка

В этом руководстве вы узнали, как разработать блок-схему на уровне системы, выбрать все критические компоненты, спроектировать полную принципиальную принципиальную схему, спроектировать макет печатной платы (PCB) и заказать прототипы готовой печатной платы микроконтроллера. дизайн.

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

Наконец, не забудьте загрузить бесплатно PDF : Ultimate Guide to Develop and Sell Your New Electronic Hardware Product . Вы также будете получать мой еженедельный информационный бюллетень, в котором я делюсь премиальным контентом, недоступным в моем блоге.

Другой контент, который может вам понравиться:

dekuNukem / STM32_tutorials: Учебник по STM32 с STM32Cube и Keil MDK-ARM

У вас уже есть некоторый опыт работы с Arduino, и вы хотите активизировать игру в соответствии с разработкой встроенной системы ARM? Если да, то вы попали в нужное место!

Мы собираемся посмотреть, как начать работу с микроконтроллерами STM32 с использованием STM32Cube и Keil MDK-ARM, который считается «каноном», и аппаратной стоимостью всего 4 доллара.

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

Предварительные требования

Опыт работы с Arduino или другими встроенными системами

Поскольку цель этого руководства — помочь вам перейти от Arduino к STM32, лучше всего иметь представление об основных периферийных устройствах микроконтроллера, таких как GPIO, UART и т. Д., А также о простых цифровых схемах.

Программирование на C

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

Что вам понадобится

Вам действительно нужно купить какое-то оборудование, к счастью, оно очень дешевое, и для начала вам понадобится всего по 1 штуке. Хотя я рекомендую приобрести еще несколько на запчасти. Обычно доставка занимает 1-2 недели, и вы можете заплатить больше за более быструю доставку.

Программатор ST-Link v2

Это необходимо для загрузки программ в чип STM32.К счастью, они продаются по всему ebay и очень дешевы (обычно менее 3 долларов, включая доставку). Просто найдите ST Link v2 на ebay, и он должен выглядеть так:

STM32F030F4P6 Совет развития

Это доска, которую мы будем использовать в этом уроке. Вы можете найти его, выполнив поиск «STM32F030F4P6». Они даже дешевле, чем 2 доллара, и должны выглядеть так:

Подробнее об этой плате мы поговорим в следующем уроке.

Последовательный USB-адаптер

У вас, вероятно, уже есть один, если вы раньше играли с Arduinos.Если нет, зайдите на ebay и найдите CP2102. Конечно, работают и другие чипы, такие как Ch440 или FTDI. Это просто вопрос предпочтений.

Получить файлы

Нажмите «Загрузить ZIP» в правом верхнем углу, чтобы получить файлы уроков, а затем просто следуйте инструкциям на этой веб-странице.

Что теперь?

Если вам не терпится приступить к делу, щелкните урок ниже и приступайте к работе!

Урок 0: Настройка и мигающий светодиод

Урок 1: Передача UART

Урок 2: Внешние прерывания GPIO

Урок 3: Прием UART и внешние файлы

Урок 4: Таймеры, ШИМ и сторожевой таймер

Урок 5: SPI и I2C

Урок 6: ОСРВ

Урок 99: Разное

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

Корпус Arduino

Теперь есть много веских причин оставаться в экосистеме Arduino. В конце концов, это в первую очередь дало толчок революции производителей. Последовательное оборудование, простая IDE и отличная поддержка сообщества означали, что людям стало проще, чем когда-либо, начать создавать то, что они хотят, а уровень абстракции оградил их от мелочей низкого уровня, таких как конфигурация периферии и настройки предохранителей.

Это все хорошо, и большинству людей это вполне устраивает.Однако, когда вы посмотрите на реальный чип на большинстве Arduinos, вы найдете устаревший ATmega328P, 8-битный чип десятилетней давности с крошечным объемом оперативной памяти, ограниченными периферийными устройствами и неторопливой тактовой частотой. В результате в коммерческих ситуациях подобные 8-битные программы в основном используются в таких дорогостоящих приложениях, как дешевые игрушки. И мир во многом перешел на 32-битные микроконтроллеры.

Я не говорю, что 8-битные Arduinos стали совершенно бессмысленными, на самом деле они являются отличными инструментами обучения и более чем подходят для большинства хобби-проектов.Это просто , если вы хотите пойти дальше по пути встраиваемой разработки, старый добрый Arduino просто не собирается его сокращать.

Почему 32-битный?

Сегодня на рынке представлено огромное количество 32-битных микроконтроллеров, большинство из которых используют архитектуру ARM Cortex-M. ARM выдает лицензию на это заинтересованным компаниям, в которые они добавляют свои собственные специальные функции и периферийные устройства. Это исключает затраты на разработку собственной архитектуры с нуля и является одной из причин, почему ARM сегодня так широко используется в мобильных вычислениях.

Популярные примеры включают линейку STMicroelectronics STM32, линию LPC от NXP и собственную линию SAM от Atmel. Я использую STM32 в этом руководстве из-за его относительно большого сообщества, красивого графического инструмента настройки, низкой стоимости dev-board и обилия документации.

STM32 также широко используются в реальной потребительской электронике, например, Amazon Dash Button, драйверы 3D-принтера, Apple Watch, Fitbit, робот BB-8, у Nintendo Switch их 3 !.

Эти 32-битные чипы обычно работают быстрее, имеют гораздо больше памяти и периферийных устройств и даже дешевле, чем сопоставимые 8-битные чипы.Чтобы продемонстрировать, вот сравнение между Arduino и моим обычным чипом STM32, STM32F072C8T6:

.

Результат говорит сам за себя даже для младшего чипа STM32. Вот краткое описание:

Преимущества:

Высокая производительность

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

Полная поддержка отладки

Аппаратная отладка поддерживается на всех чипах STM32, что означает, что у вас есть пошаговый режим, точки останова, программа просмотра памяти и все обычные вещи. Больше не нужно полагаться на println () , как на Arduino.

Универсальный, многоразовый и перспективный:

Есть сотня вариантов STM32 на выбор. Вы можете перейти от 50 центов STM32F0 до 400 МГц STM32H7. Все они используют один и тот же инструмент и структуру кода, поэтому переносить между ними тривиально легко.Они также в основном имеют одинаковую распиновку для данного типа корпуса, поэтому вы можете просто установить более мощный чип, не меняя конструкцию схемы, если возникнет необходимость.

Интегрированный загрузчик

Все STM32 имеют встроенный загрузчик для загрузки прошивки без использования программатора. Это можно сделать через последовательный порт, USB или даже через шину I2C, SPI и CAN, не занимая пользовательскую флеш-память, как это делает Arduino.

Допуск 5В

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

Рентабельность

Если вы разрабатываете продукт и делаете собственную печатную плату, использование чипа STM32 намного дешевле, компактнее и чистее, чем установка на него всего Arduino, особенно если вы выполняете производственный цикл.

Недостатки:

Конечно, есть причины, по которым STM32 не так популярен среди производителей, как Arduinos, и это лишь некоторые из них:

Кривая обучения

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

Выбор платы

Вы захотите получить доску для разработчиков, а ее просто не так много. Несколько штук ST делает самостоятельно, а на eBay есть несколько дешевых. Мы коснемся этого позже.

Поддержка сообщества и библиотеки

Очевидно, что сообщество STM32 не так активно, как сообщество Arduino, и в результате доступно не так много готовых к использованию библиотек.Я надеюсь, что это руководство поможет в этой ситуации, и мы рассмотрим написание ваших собственных библиотек, а также преобразование существующих библиотек Arduino.

Заключение

32-битные микроконтроллеры

, такие как STM32, намного мощнее и универсальнее, чем 8-битные чипы, и именно в этом направлении промышленность сейчас движется. Это следующий логический шаг, если вы хотите выйти за рамки ограничений Arduino.

Схемы именования STM32

Поскольку существуют сотни чипов STM32, я думаю, было бы неплохо узнать, как они называются.Вот официальное соглашение об именах:

Посмотрев на 2 символа сразу после STM32 , вы также можете определить, какое ядро ​​процессора ARM использует чип:

STM32 серии Ядро ARM
F7, H7 Cortex-M7F
F4, F3, L4 Cortex-M4F
F2, F1, L1 Cortex-M3
L0 Cortex-M0 +
F0 Cortex-M0

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

Щелкните здесь, чтобы просмотреть спецификации всех микросхем STM32.

Что не так с Blue Pill?

Blue Pill — еще одна очень популярная плата для разработчиков с чипом STM32F103. Однако лично мне он не очень нравится по ряду причин:

  • STM32F1 — это очень старый дизайн (которому более 10 лет в 2018 году), поэтому отсутствуют некоторые удобные функции более поздних чипов, такие как инверсия контактов TX / RX, встроенные подтяжки USB, резервное копирование даты RTC и многое другое.

  • Кроме того, многие периферийные устройства просто отсутствуют по сравнению с более новыми чипами STM32F0, например аналоговые компараторы, I2S, HDMI_CEC и так далее.

  • STM32F1 имеет несколько неприятных ошибок проектирования оборудования, на которые следует обратить внимание при использовании определенных периферийных устройств.

  • Есть тонны поддельных чипов STM32F103!

  • серии STM32F0 дешевле.

  • Серия

    STM32F0 имеет бесплатную лицензию Keil MDK без ограничения размера кода.

Поэтому я рекомендую вначале начать с более новых чипов STM32F0.

Следующие шаги

Вот и все для введения! На данный момент вы должны понимать преимущества 32-битных микропроцессоров и заказывать необходимое оборудование на ebay.

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

НАЖМИТЕ МЕНЯ, ЧТОБЫ ПЕРЕЙТИ К СЛЕДУЮЩЕМУ УРОКУ

Начало работы с STM32 | СТМ32-базовый проект

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

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

Все руководства, кроме этого, предполагают, что вы будете использовать проект на основе STM32. Чтобы следовать приведенным ниже руководствам, вам потребуется базовое понимание языка программирования C.Предварительный опыт работы со встроенной платформой не требуется.

Введение в STM32

STM32 не относится к одному конкретному микроконтроллеру. Это название, которое STMicroelectronics дала семейству микроконтроллеров на базе ARM Cortex-M. Само семейство STM32 можно разделить на несколько групп, которые, в свою очередь, можно разделить на серии.

В настоящее время семейство STM32 состоит из пятнадцати серий. Эти серии сгруппированы в четыре группы: High Performance, Mainstream, Ultra Low Power и Wireless.В следующем списке кратко описывается каждая серия:

  • STM32F0 (Mainstream)
    На базе процессора Arm Cortex-M0. Оптимизирован для низкой стоимости. Создан для конкуренции с 8-битными и 16-битными платформами.
  • STM32F1 (Mainstream)
    На базе процессора Arm Cortex-M3. Общее назначение.
  • STM32F2 (высокая производительность)
    На базе процессора Arm Cortex-M3. Общее назначение. Оптимизирован для высокой производительности.
  • STM32F3 (Mainstream)
    На основе процессора Arm Cortex-M4 с инструкциями FPU и DSP.Оптимизирован для приложений со смешанными сигналами.
  • STM32F4 (высокая производительность)
    На основе процессора Arm Cortex-M4 с инструкциями FPU и DSP. Оптимизирован для высокой производительности.
  • STM32F7 (высокая производительность)
    На основе процессора Arm Cortex-M7 с инструкциями FPU и DSP. Оптимизирован для высокой производительности. Контактная совместимость с серией STM32F4.
  • STM32G0 (Mainstream)
    На базе процессора Arm Cortex-M0 +.Оптимизирован для повышения эффективности. Создан для конкуренции с 8-битными и 16-битными платформами.
  • STM32G4 (Mainstream)
    На основе процессора Arm Cortex-M4 с инструкциями FPU и DSP. Оптимизирован для приложений со смешанными сигналами. Преемник серии STM32F3.
  • STM32H7 (высокая производительность)
    На основе процессора Arm Cortex-M7 с инструкциями FPU и DSP. Некоторые устройства имеют второй сопроцессор на базе Arm Cortex-M4.
  • STM32L0 (сверхнизкое энергопотребление)
    На базе процессора Arm Cortex-M0 +.Оптимизирован для приложений с низким энергопотреблением.
  • STM32L1 (сверхнизкое энергопотребление)
    На базе процессора Arm Cortex-M3. Оптимизирован для приложений с низким энергопотреблением.
  • STM32L4 (сверхнизкое энергопотребление)
    На основе процессора Arm Cortex-M4 с инструкциями FPU и DSP. Оптимизирован для приложений с низким энергопотреблением.
  • STM32L4 + (сверхнизкое энергопотребление)
    На основе процессора Arm Cortex-M4 с инструкциями FPU и DSP. Оптимизирован для приложений с низким энергопотреблением.Более высокая производительность, чем у серии STM32L4.
  • STM32L5 (сверхнизкое энергопотребление)
    На базе процессора Arm Cortex-M33. Оптимизирован для приложений с низким энергопотреблением. Повышенная безопасность.
  • STM32WB (беспроводной)
    На основе процессора Arm Cortex-M4 с инструкциями FPU и DSP. Имеет второй процессор Arm Cortex-M0 + в качестве сетевого процессора. Поддерживает стандарты беспроводной связи Bluetooth 5 и IEEE 802.15.4.

Оборудование

Для начала вам понадобится хотя бы одна плата разработки.Без платы разработки вы не сможете правильно запускать или отлаживать свой код. Если у вас уже есть макетная плата, вы можете пропустить эту главу.

Микроконтроллеры

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

Есть две серии, которые лучше подходят для начинающих, чем другие серии.Серии STM32F1 и STM32F4. Причина проста:

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

Макетные платы

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

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

Макетные платы производятся разными партиями. STMicroelectronics предлагает три различных диапазона плат для разработки:

  • Платы Nucleo
    Эти платы очень похожи на платы Arduino.В них есть только микроконтроллер и встроенный отладчик ST-Link. Доступны три форм-фактора.
  • Комплекты Discovery
    Все эти платы содержат устройства ввода и вывода в дополнение к микроконтроллеру. Эти платы также поставляются со встроенным отладчиком ST-Link.
  • Оценочные платы
    Эти платы очень обширны и содержат множество дополнительных устройств и интерфейсов в дополнение к микроконтроллеру.

Есть также много плат, которые можно купить на Ebay и AliExpress.Самыми популярными из них являются Blue Pill и Black Pill. Последний является улучшенной версией первого.

Рекомендации

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

  • NUCLEO-F103RB
    На этой плате установлено устройство STM32F103RBT6 с 128 КБ флэш-памяти.
  • STM32F407G-DISC1
    Эта плата оснащена устройством STM32F407VGT6 с 1024 КБ флэш-памяти.
  • Black Pill
    На этой плате установлено устройство STM32F103C8T6 с 64 КБ флэш-памяти. Не забудьте также купить клон ST-Link для отладки и прошивки.

Программное обеспечение

Если вы хотите начать работу с проектом на базе STM32, вам не нужно делать много выбора со стороны программного обеспечения. Проект на базе STM32 разработан для использования с GNU Arm Embedded Toolchain.STM32-base можно использовать с любимым редактором кода. Рекомендация для редактора — Visual Studio Code.

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

IDE

IDE — это интегрированная среда разработки. Обычно это означает, что после установки IDE готова к использованию без каких-либо дополнительных действий.IDE устанавливают все необходимое программное обеспечение, такое как компиляторы и драйверы, после их установки.

Некоторые IDE бесплатны, для других требуется покупка лицензии. Перечисленные здесь IDE потенциально интересны новичкам и любителям, поскольку они бесплатны. Полный обзор доступных IDE см. На веб-сайте ST.

  • Arm Keil MDK — Бесплатно для серий STM32G0, STM32F0 и STM32L0 (Windows)
  • PlatformIO IDE — Бесплатная (Windows, Linux, macOS)
  • STM32CubeIDE — Бесплатно (Windows, Linux, macOS)
  • Segger Embedded Studio — бесплатно для некоммерческого использования (Windows, Linux, macOS)
  • SW4STM32 — Бесплатно (Windows, Linux, macOS)

Платформы

Платформы

предлагают, помимо IDE, собственный API для управления устройством.Подобные платформы обычно предназначены для создания прототипов. Для микроконтроллеров STM32 доступны две платформы.

Первый — STM32duino. Эта платформа реализует хорошо известный Arduino API для микроконтроллеров STM32. Его можно использовать с Arduino IDE.

Второй — Arm Mbed. Эта платформа поддерживает не только микроконтроллеры STM32. Он поддерживает широкий спектр устройств от разных производителей. Mbed включает ОС, специально разработанную для приложений Интернета вещей.Он имеет как облачную IDE, так и загружаемый вариант.

Другое

ST предлагает CMSIS и HAL для каждой серии устройств. CMSIS содержит все определения регистров и периферии, необходимые для использования доступных периферийных устройств на микроконтроллере. HAL — это библиотека более высокого уровня, которая предлагает переносимость кода между различными сериями. Код CMSIS и HAL распространяется в так называемых пакетах STM32Cube.

Популярная альтернатива официальной CMSIS с открытым исходным кодом — libopencm3.Этот проект направлен на создание библиотеки прошивки с открытым исходным кодом для микроконтроллеров Arm Cortex-M. Поддерживаются не все серии STM32.

Руководство по программированию STM32VLDISCOVERY

Главное меню
Указатель
Политика конфиденциальности
Канал Youtube
Производитель печатной платы

Учебники
STM32F429I-DISCOVERY
STM32VLDISCOVERY

Библиотека кодов для ЖК-дисплея
S1D15705
SSD 1963
SED1335 / RA8835
SED1520 / NJU6450
SED1530 / SPLC501C
KS0108 / HD61202
S6B63724
T6B6

Микроконтроллеры ATMEL AVR
Драйвер HD44780
Драйвер 1-Wire
Утилиты задержки
Декодирование Инфракрасный RC5
Вычисление CRC iButton
Считыватель iButton
Плата ATtiny2313
Плата ATmega162

Микроконтроллеры STMicro ST7
Программная реализация I2C
Внешняя память I2C EEPROM

Проекты
Сниффер шины SPI
Сниффер шины I2C
Сниффер шины 1-Wire
Программатор AVR910

Программное обеспечение
Растровый преобразователь для ЖК-дисплея
Modbus Master Simulator


Оценочная плата STM32VLDISCOVERY
Плата обнаружения STM32 Value-line — это недорогая оценочная плата для Value-line микроконтроллеров STM32 от STMicroelectronics.Ценовая линейка микроконтроллеров STM32 — это недорогая версия более высоких устройств. Он может работать на частоте 24 МГц и не имеет некоторых периферийных устройств, доступных на более высоких устройствах. На этой плате распаян 64-контактный микроконтроллер STM32 (с ядром ARM Cortex-M3) и отладчик ST-Link, поэтому плата является полным комплектом оборудования, необходимого для запуска программ для устройств STM32! Вам понадобится только USB-кабель для подключения платы к ПК.

Конечно, нам нужно создать какое-то внешнее оборудование, потому что на STM32LVDISCOVERY установлены только два светодиода и две кнопки — одна для СБРОСА, а другая для пользовательских приложений.Плата Discovery имеет два длинных ряда выводов и один короткий (между ними) со всеми важными сигналами от микроконтроллера и напряжениями источника питания. Из-за короткого разъема плату STM32VLDISCOVERY нельзя ставить на обычную беспаечную плату. Базовая плата для Discovery Board будет описана в одной из статей.

В этом руководстве показано, как писать приложения для устройств STM32 без использования библиотеки STM32 StdPeriph . Эта библиотека, на мой взгляд, не лучшее решение для написания приложений для STM32, и я покажу Вам, что писать приложения без этой библиотеки легко и весело.Хотя это руководство основано на микросхемах STM32 Value Line и плате STM32VLDISCOVERY, в большинстве случаев также можно использовать для других устройств STM32F1 (основных) и других плат для разработки.

Статьи :
Программирование платы STM32VLDISCOVERY с помощью инструментов Eclipse и Sourcery Code Bench с открытым исходным кодом НОВИНКА
Перепрограммирование памяти MCU STM32VLDISCOVERY с помощью утилиты командной строки ST-Link и Keil uVision IDE

Учебное пособие:

Урок 1 — Первая программа.Мигающий светодиод
Урок 2 — Чтение кнопки
Урок 3 — Мигающий светодиод с таймером
Урок 4 — Мигающий светодиод с прерываниями таймера
Урок 5 — Мигающий светодиод с аппаратным таймером
Урок 6 — Широтно-импульсная модуляция (ШИМ)
Урок 7 — Аналоговый в цифровой преобразователь (АЦП)
Урок 8 — Простая связь с USART
Урок 9 — АЦП с прямым доступом к памяти

STM32F4 Discovery Board Введение: учебное пособие 1

В следующих нескольких руководствах мы узнаем о плате обнаружения STM32F.Прежде всего, мы представим плату обнаружения STM32F, а затем перейдем к их IDE и, наконец, обсудим ее сложное программирование. STM32F имеет множество приложений. Однако найти точные руководства по программированию довольно сложно. Итак, поехали!

Сказать привет плате обнаружения STM32F

STM32F является представителем класса 32-битных микроконтроллеров arm , разработанных STMicroelectronics. Различные чипы STM32F имеют разные характеристики; хотя все они используют 32-битный микроконтроллер.В нашем случае Cortex-M4 имеет тактовую частоту 84 МГц, 512 КБ флэш-памяти, 96 КБ SRAM, несколько контактов, которые могут быть запрограммированы как GPIO или использоваться в других протоколах, и предварительно включенный отладчик / программатор. .

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

Различные микроконтроллеры семейства STM32 обладают разными характеристиками и функциями.Например, некоторые из них, такие как STM32F0, имеют тактовую частоту всего 24 МГц, в то время как некоторые из них, такие как STM32H7, работают до 400 МГц. В более продвинутых моделях также есть модуль с плавающей запятой (FPU) для приложений численной обработки. Ниже приведен список плат STM32

.
  1. СТМ H7
  2. СТМ F7
  3. СТМ F4
  4. СТМ F3
  5. СТМ F2
  6. СТМ F1
  7. СТМ F0
  8. СТМ Л4
  9. СТМ Л1
  10. СТМ Л0
  11. STM W
  12. СТМ Дж

Теперь мы обсудим серию STM32F4 в наших руководствах.

STM32F401 Плата открытия

Для наших руководств мы будем использовать плату обнаружения STM32F401. Микроконтроллеры STM32F401 являются частью линейки устройств STM32 Dynamic Efficiency ™. Эти устройства предлагают наилучший баланс динамического энергопотребления (в рабочем режиме) и производительности обработки, в то же время объединяя большое количество дополнительных функций в компактных корпусах.

Эти микроконтроллеры обеспечивают производительность ядра Cortex®-M4 с FPU.Они работают с тактовой частотой 84 МГц, обеспечивая при этом исключительно низкие значения энергопотребления в режимах работы и остановки.

  • Производительность : На частоте 84 МГц STM32F401 обеспечивает производительность 105 DMIPS / 285 CoreMark при выполнении из флэш-памяти с состояниями 0-ожидания с использованием ST’s ART Accelerator. Команды DSP и модуль с плавающей запятой расширяют диапазон адресных приложений.
  • Энергоэффективность: 90-нм процесс ST, ART Accelerator и динамическое масштабирование мощности позволяют снизить потребление тока в рабочем режиме и при выполнении из флэш-памяти до 128 мкА / МГц.В режиме остановки потребляемая мощность может составлять всего 9 мкА.
  • Интеграция: Портфель STM32F401 обеспечивает от 128 до 512 Кбайт флэш-памяти и 96 Кбайт SRAM. Доступные пакеты варьируются от 49 до 100 контактов.
    • 3x USART со скоростью до 10,5 Мбит / с,
    • 4x SPI со скоростью до 42 Мбит / с,
    • 3x I²C,
    • 1x SDIO,
    • 1x USB 2.0 OTG на полной скорости,
    • 2x полнодуплексных I²S до 32 бит / 192 кГц,
    • 12-битный АЦП, достигающий 2.4 MSPS,
    • 10 таймеров, 16- и 32-бит, работающих на частоте до 84 МГц

Паспорта бортового микроконтроллера

Технические характеристики можно скачать с

  1. Лист данных: https://www.st.com/resource/en/datasheet/stm32f401cb.pdf
  2. Справочное руководство по
  3. : https://www.st.com/resource/en/reference_manual/dm00096844.pdf

IDE для программирования платы обнаружения

Для программирования STM32F401 можно использовать несколько IDE.Некоторые включают:

  1. Атоллик
  2. Кейл
  3. STM32 Куб MX
  4. LabVIEW
  5. MATLAB

. Для наших руководств мы будем использовать Atollic.

Атоллик Истинная Студия

Atollic True Studio — это самая удобная и дружественная к библиотекам IDE для программирования STM32F401. Вы можете скачать последнюю версию здесь

Ссылка: https://atollic.com/resources/download/windows/

Здесь введите свои данные и выберите следующие параметры

  1. Базовый бесплатный инструмент
  2. Семейство устройств: ST Microelectronics STM32
  3. Малый бизнес

Теперь скачайте последнюю версию.В следующем уроке мы увидим, как установить STM32F401 и начать работу с ним. Следуйте этому руководству, чтобы узнать больше о программировании портов GPIO платы обнаружения STM32:

Как использовать контакты GPIO платы обнаружения SMT32F4

STM32 Cortex M0: сборка GCC на голом металле — Martin Hubáček

Я создал очень простой Makefile
 all: main.bin

main.o: main.S
    arm-none-eabi-as -mthumb -o main.o main.S

main.elf: main.o
    arm-none-eabi-ld -Ttext 0x8000000 main.o -o main.эльф
   
main.bin: main.elf
    arm-none-eabi-objcopy -S -O двоичный файл main.elf main.bin
    рука-none-eabi-size main.elf
   
чистый:
    rm main.elf main.o main.bin a.out 
В качестве первого main.S компилируется программой сборки gcc «as». Создает файл main.o. Затем этот файл нужно связать. Компоновщик «перемещает» адреса в моих метках сборки в реальное пространство памяти, которое для STM32 находится в 0x8000000. Вот почему есть параметр -Ttext. Это также можно сделать с помощью скрипта компоновщика, но мое решение сейчас упрощает задачу.Термин «текст» для нашего кода используется по историческим причинам, потому что в первые дни «текстовый» раздел использовался для кода, который не изменяется. Разделы .data и .bss предназначены для памяти, но они будут рассмотрены в следующих руководствах.

После линковки получаю файл main.elf. Это все еще объектный файл с возможной отладочной информацией в нем, и он не может быть напрямую прошит в MCU.

На последнем этапе мне нужно создать бинарный файл из этого ELF-файла. Также есть утилита «size», которая показывает мне, насколько велика программа.Попробуем вызвать make:

arm-none-eabi-as -mthumb -o main.o main.S
arm-none-eabi-ld -Ttext 0x8000000 main.o -o main.elf
arm-none-eabi- objcopy -S -O binary main.elf main.bin
arm-none-eabi-size main.elf
текстовые данные bss dec hex имя_файла
12 0 0 12 c main.elf

В моем приложении для увеличения всего 12 байтов, сладко . ОЗУ тоже не используется, поэтому в секциях data и bss стоит ноль.

В Windows вы можете прошить вашу программу на некоторые платы обнаружения STM32F0 с помощью утилиты ST-link.Затем в Menu> Target> MCU Core … вы можете пошагово выполнить мою маленькую программу, и вы увидите, что R0 действительно увеличивается.



Если у вас есть соединение OpenOCD / GDB, используйте приведенные ниже команды для тестирования программы. Только не забудьте загрузить файл main.elf. Команда «si» — это инструкция первого шага. Мы должны выполнить две инструкции, потому что одна из них является инструкцией приращения (ADD), а другая — инструкцией ветвления.

(gdb) load main.elf
Раздел загрузки .text, размер 0xc lma 0x8000000
Начальный адрес 0x8000008, размер загрузки 12
Скорость передачи: 35 байт / сек, 12 байт / запись.
(gdb) info reg r0
r0 0x9792b7 9933495
(gdb) si
(gdb) si
(gdb) info reg r0
r0 0x9792b8 9933496
(gdb)

. Это грязный прием, но поскольку в моем основном цикле ровно 4 байта, я не использую стек и первый вектор. Я могу туда свои инструкции запихнуть! 🙂

_start:
loop:
ADD R0, R0, # 1
b loop

.long _start
.global _start

ST STM32 — PlatformIO последняя документация

framework-arduino-mbed

Фреймворк Arduino, поддерживающий платы с поддержкой mbed

framework-arduinostm32mxchip

Arduino Wiring-based Framework для Azure MXChip IoT DevKit

framework-arduinostm32

Arduino Wiring-based Framework для микроконтроллеров ST STM32

каркас-arduinostm32-клен

Arduino Wiring-based Framework для микроконтроллеров ST STM32 (Maple Core)

рамки-arduinostm32l0

Arduino Wiring-based Framework для микроконтроллеров ST STM32 (ядро ST STM32L0)

framework-cmsis

Уровень абстракции оборудования, не зависящий от производителя, для процессоров Cortex-M серии

framework-cmsis-stm32f0

Компонент CMSIS для серии STMicroelectronics STM32F0

framework-cmsis-stm32f1

Компонент CMSIS для серии STMicroelectronics STM32F1

framework-cmsis-stm32f2

Компонент CMSIS для серии STMicroelectronics STM32F2

framework-cmsis-stm32f3

Компонент CMSIS для серии STMicroelectronics STM32F3

framework-cmsis-stm32f4

Компонент CMSIS для серии STMicroelectronics STM32F4

framework-cmsis-stm32f7

Компонент CMSIS для серии STMicroelectronics STM32F7

framework-cmsis-stm32g0

Компонент CMSIS для серии STMicroelectronics STM32G0

framework-cmsis-stm32g4

Компонент CMSIS для серии STMicroelectronics STM32G4

framework-cmsis-stm32h7

Компонент CMSIS для серии STMicroelectronics STM32H7

framework-cmsis-stm32l0

Компонент CMSIS для серии STMicroelectronics STM32L0

framework-cmsis-stm32l1

Компонент CMSIS для серии STMicroelectronics STM32L1

framework-cmsis-stm32l4

Компонент CMSIS для серии STMicroelectronics STM32L4

framework-cmsis-stm32l5

Компонент CMSIS для серии STMicroelectronics STM32L5

framework-libopencm3

Библиотека микроконтроллеров ARM Cortex-M с открытым исходным кодом

каркас-кровать

Arm Mbed OS — операционная система платформы, разработанная для Интернета вещей

каркас-спл

Стандартная периферийная библиотека для микроконтроллеров ST STM32

framework-stm32cubef0

STM32Cube — это набор инструментов и встроенных программных модулей, доступных бесплатно для быстрой и простой разработки на платформе STM32 (STM32CubeF0 MCU Firmware Package)

каркас-stm32cubef1

STM32Cube — это набор инструментов и встроенных программных модулей, доступных бесплатно для быстрой и простой разработки на платформе STM32 (STM32CubeF1 MCU Firmware Package)

каркас-stm32cubef2

STM32Cube — это набор инструментов и встроенных программных модулей, доступных бесплатно для быстрой и простой разработки на платформе STM32 (STM32CubeF2 MCU Firmware Package)

рамки-stm32cubef3

STM32Cube — это набор инструментов и встроенных программных модулей, доступных бесплатно для быстрой и простой разработки на платформе STM32 (STM32CubeF3 MCU Firmware Package)

рамки-stm32cubef4

STM32Cube — это набор инструментов и встроенных программных модулей, доступных бесплатно для быстрой и простой разработки на платформе STM32 (STM32CubeF4 MCU Firmware Package)

рамки-stm32cubef7

STM32Cube — это набор инструментов и встроенных программных модулей, доступных бесплатно для быстрой и простой разработки на платформе STM32 (пакет микропрограмм STM32CubeF7 MCU)

каркас-stm32cubeg0

STM32Cube — это набор инструментов и встроенных программных модулей, доступных бесплатно для быстрой и простой разработки на платформе STM32 (STM32CubeG0 MCU Firmware Package)

каркас-stm32cubeg4

STM32Cube — это набор инструментов и встроенных программных модулей, доступных бесплатно для быстрой и простой разработки на платформе STM32 (STM32CubeG4 MCU Firmware Package)

каркас-stm32cubeh7

STM32Cube — это набор инструментов и встроенных программных модулей, доступных бесплатно для быстрой и простой разработки на платформе STM32 (STM32CubeH7 MCU Firmware Package)

framework-stm32cubel0

STM32Cube — это набор инструментов и встроенных программных модулей, доступных бесплатно для быстрой и простой разработки на платформе STM32 (STM32Cubel0 MCU Firmware Package)

framework-stm32cubel1

STM32Cube — это набор инструментов и встроенных программных модулей, доступных бесплатно для быстрой и простой разработки на платформе STM32 (STM32CubeL1 MCU Firmware Package)

framework-stm32cubel4

STM32Cube — это набор инструментов и встроенных программных модулей, доступных бесплатно для быстрой и простой разработки на платформе STM32 (STM32CubeL4 MCU Firmware Package)

framework-stm32cubel5

STM32Cube — это набор инструментов и встроенных программных модулей, доступных бесплатно для быстрой и простой разработки на платформе STM32 (пакет микропрограмм STM32CubeL5 MCU)

каркас-зефир

Zephyr — это масштабируемая, оптимизированная и безопасная ОСРВ нового поколения для нескольких аппаратных архитектур

каркас-зефир-канопеннод

Canopennode Zephyr module

framework-zephyr-civetweb

Модуль Zephyr для веб-сервера CivetWeb Embedded C / C ++

framework-zephyr-cmsis

Модуль Zephyr для программного интерфейса Стандарт для микроконтроллеров на базе Arm Cortex

каркас-зефир-фатфс

Модуль Zephyr для файловой системы FatFS

каркас-зефир-хал-ст

Модуль Zephyr для официальных библиотек, предоставляемых STMicroelectronics

каркас-зефир-хал-стм32

ST STM32 HAL для фреймворка Zephyr

каркас-зефир-libmetal

Модуль Zephyr для уровня абстракции в пользовательских средах Linux, baremetal и RTOS

framework-zephyr-littlefs

Zephyr модуль для файловой системы littlefs

каркас-зефир-лорамак-узел

Модуль Zephyr для реализации стека конечных точек LoRaWAN

каркас-зефир-lvgl

Модуль Zephyr для LittlevGL — встроенная библиотека графического интерфейса с открытым исходным кодом

каркас-зефир-мбедтлс

Модуль Zephyr для библиотеки mbed TLS

фреймворк-зефир-макубут

Zephyr module for MCUboot — безопасный загрузчик для 32-битных микроконтроллеров

каркас-зефир-макумгр

Модуль Zephyr для библиотеки управления mcumgr для 32-битных микроконтроллеров

framework-zephyr-mipi-sys-t

Модуль Zephyr для системного программного обеспечения MIPI Trace

framework-zephyr-open-amp

Модуль Zephyr для фреймворка Open Asymmetric Multi Processing (OpenAMP)

каркас-зефир-без резьбы

Модуль Zephyr для OpenThread — реализация сетевого протокола Thread с открытым исходным кодом

каркас-зефир-сеггер

Модуль Zephyr для библиотеки Segger RTT

каркас-зефир-соф

Модуль Zephyr для прошивки Sound Open

рамки-зефир-tfm-mcuboot

Zephyr module for MCUboot — безопасный загрузчик для 32-битных микроконтроллеров (TFM Dependency)

framework-zephyr-tinycbor

Модуль Zephyr для библиотеки краткого представления двоичных объектов

framework-zephyr-tinycrypt

Библиотека TinyCrypt обеспечивает реализацию для ограниченных устройств минимального набора стандартных криптографических примитивов для платформы Zephyr

framework-zephyr-trust-firmware-m

Zephyr module for Trusted Firmware M — эталонная реализация программного обеспечения secure world для ARMv8-M

инструмент-cmake

CMake — это кроссплатформенное семейство инструментов с открытым исходным кодом, предназначенных для создания, тестирования и создания пакетов программного обеспечения

инструмент-dfuutil

Утилиты обновления прошивки устройства

инструмент-dtc

Компилятор дерева устройств

инструмент-gperf

GNU gperf — идеальный генератор хеш-функций

инструмент-jlink

Пакет программного обеспечения и документации для отладочных датчиков SEGGER J-Link

инструмент-ldscripts-ststm32

Пакет скриптов компоновщика для платформы STMicroelectronics STM32

инструмент-ниндзя

Ninja — это небольшая система сборки с упором на скорость

инструмент openocd

Открыть встроенный отладчик.

Добавить комментарий

Ваш адрес email не будет опубликован.