Stm32 архитектура. Архитектура микроконтроллеров STM32: особенности и преимущества

Какие ключевые особенности имеет архитектура микроконтроллеров STM32. Чем она отличается от других микроконтроллеров. Какие преимущества дает использование ядра ARM Cortex-M3. Как устроена система памяти и периферийных устройств в STM32.

Содержание

Основные компоненты архитектуры STM32

Микроконтроллеры семейства STM32 имеют следующие ключевые компоненты архитектуры:

  • Ядро ARM Cortex-M3
  • Флэш-память программ
  • Оперативная память SRAM
  • Набор периферийных устройств
  • Системная шина AHB
  • Периферийная шина APB

Рассмотрим подробнее каждый из этих компонентов и их особенности.

Ядро ARM Cortex-M3

Центральным элементом архитектуры STM32 является 32-разрядное RISC-ядро ARM Cortex-M3. Оно обеспечивает высокую производительность при низком энергопотреблении.

Ключевые особенности ядра Cortex-M3:

  • Тактовая частота до 72 МГц
  • Производительность до 1.25 DMIPS/МГц
  • Однотактное умножение и аппаратное деление
  • Поддержка векторных прерываний с приоритетами
  • Отладочный интерфейс SWD/JTAG

Использование ядра Cortex-M3 дает STM32 значительное преимущество по производительности по сравнению с 8-битными микроконтроллерами.


Система памяти STM32

Память в микроконтроллерах STM32 организована следующим образом:

  • Флэш-память программ: от 32 до 512 КБ
  • Оперативная память SRAM: от 6 до 64 КБ
  • Загрузочное ПЗУ с предустановленным загрузчиком

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

Периферийные устройства STM32

Микроконтроллеры STM32 оснащены богатым набором встроенных периферийных устройств:

  • Таймеры и ШИМ-генераторы
  • АЦП и ЦАП
  • Интерфейсы UART, SPI, I2C
  • USB-контроллер
  • Контроллер Ethernet (в некоторых моделях)
  • DMA-контроллер

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

Шинная архитектура STM32

В STM32 используется многоуровневая шинная архитектура:

  • Системная шина AHB (Advanced High-performance Bus) — для высокоскоростных устройств
  • Периферийная шина APB (Advanced Peripheral Bus) — для низкоскоростных устройств

Такая организация позволяет оптимизировать производительность системы и энергопотребление. Высокоскоростные устройства, такие как DMA, подключены к AHB, а низкоскоростные интерфейсы — к APB.


Преимущества архитектуры STM32

Архитектура микроконтроллеров STM32 имеет ряд существенных преимуществ:

  • Высокая производительность за счет 32-разрядного ядра Cortex-M3
  • Низкое энергопотребление благодаря оптимизированной архитектуре
  • Большой объем встроенной памяти
  • Широкий набор периферийных устройств на кристалле
  • Удобство программирования с использованием библиотек от производителя

Эти преимущества делают STM32 отличным выбором для многих встраиваемых приложений.

Отличия архитектуры STM32 от других микроконтроллеров

По сравнению с 8-битными микроконтроллерами, например семейства 8051, STM32 имеет следующие ключевые отличия:

  • 32-разрядная архитектура вместо 8-разрядной
  • Значительно более высокая производительность
  • Больший объем встроенной памяти
  • Более широкий набор периферийных устройств
  • Поддержка отладки через JTAG/SWD

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

Программирование микроконтроллеров STM32

Для разработки программ для STM32 обычно используются следующие инструменты:


  • Среда разработки (например, Keil MDK или STM32CubeIDE)
  • Компилятор C/C++
  • Стандартная библиотека периферии от ST
  • Отладчик с поддержкой JTAG/SWD

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

Применение микроконтроллеров STM32

Благодаря своей универсальной архитектуре, STM32 находят применение во многих областях:

  • Промышленная автоматизация
  • Медицинское оборудование
  • Потребительская электроника
  • Автомобильная электроника
  • Системы «умного дома»
  • Портативные устройства

Широкий выбор моделей STM32 с различными характеристиками позволяет подобрать оптимальный вариант практически для любой задачи.

Заключение

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


Ключевыми преимуществами архитектуры STM32 являются:

  • Высокая вычислительная мощность
  • Большой объем встроенной памяти
  • Широкие возможности по работе с периферией
  • Удобство программирования
  • Низкое энергопотребление

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


Cortex M3 производства STMicroelectronics STM3220G-EVAL

нет в наличии

по запросу

Запросить

Вы можете запросить у нас любое количество STM3220G-EVAL, просто отправьте нам запрос на поставку.
Мы работаем с частными и юридическими лицами.

STM3220G-EVAL описание и характеристики

Ср-во разработки: STM32; STM32F207IGH6; Архитектура: Cortex M3

Бесплатная доставка
заказов от 5000 ₽

Доставим прямо в руки или в ближайший пункт выдачи


Смежные товары

CAB/AG

Соединительный кабель; PIN: 1; зеленый; 10шт; 250мм

по запросу

Подробнее

CAB/GR

Соединительный кабель; PIN: 1; серый; 10шт; 250мм

по запросу

Подробнее

CAB/AB

Соединительный кабель; PIN: 1; синий; 10шт; 250мм

по запросу

Подробнее

CAB/ABL

Соединительный кабель; PIN: 1; черный; 10шт; 210мм

по запросу

Подробнее

CAB/AR

Соединительный кабель; PIN: 1; красный; 10шт; 250мм

по запросу

Подробнее

WIRE JUMPER MALE TO FEMALE 10PCS

Соединительный кабель; «папа»-«мама»; PIN: 1; 150мм; 10шт.

по запросу

Подробнее

WIRE JUMPER FEMALE TO FEMALE 10PCS

Соединительный кабель; «мама»-«мама»; PIN: 1; 150мм; 10шт.

по запросу

Подробнее

WIRE JUMPER MALE TO MALE 10PCS

Соединительный кабель; «папа» / «папа»; PIN: 1; 150мм; 10шт.

по запросу

Подробнее

Похожие товары

STM32VLDISCOVERY

Ср-во разработки: STM32; STM32F100RBT6B; штыревой,USB B

от 3 605 ₽

+1622 балла

Подробнее

STEVAL-ILL084V1

Ср-во разработки: вычислительное; LED6000; контроллер LED; 500мА

от 6 641 ₽

+996 баллов

Подробнее

STEVAL-ILL049V12

Ср-во разработки: вычислительное; LED6001,NCP18WB473J03RB; Ch: 1

от 32 910 ₽

+4937 баллов

Подробнее

STEVAL-ISA193V2

Ср-во разработки: адаптер; STCH02; USB; 3А; 15Вт; 90÷264ВAC; 5В

от 12 334 ₽

+1850 баллов

Подробнее

STEVAL-IFP035V1

Ср-во разработки: вычислительное; CLT03-2Q3; винтовой

от 13 282 ₽

+1992 балла

Подробнее

STEVAL-ISA197V1

Ср-во разработки: вычислительное; VIPer114LS; винтовой; 650мА

от 12 131 ₽

+1820 баллов

Подробнее

STEVAL-ILL053V2

Ср-во разработки: вычислительное; L6562A,L6599AT; винтовой; LED

от 33 839 ₽

+5076 баллов

Подробнее

STEVAL-VP26K01F

Ср-во разработки: вычислительное; VIPER267KDT; 550мА; 90÷440ВAC

от 14 547 ₽

+2182 балла

Подробнее

STEVAL-MKI167V1

Ср-во разработки: вычислительное; h4LIS200DL; штыревой; Ch: 3

от 4 038 ₽

+606 баллов

Подробнее

STM32H747I-DISCO

Ср-во разработки: STM32; STLINK-V3E,STM32H747XIH6,ЖК-дисплей

от 33 553 ₽

+15099 баллов

Подробнее

STEVAL-ILL062V1

Ср-во разработки: вычислительное; L7981D,STP16CPC26; 6÷24ВDC

от 11 069 ₽

+1660 баллов

Подробнее

STEVAL-MKI205V1

Ср-во разработки: вычислительное; LPS33W; штыревой; 1,7÷3,6ВDC

от 4 443 ₽

+666 баллов

Подробнее

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

20800078

Enclosure, Accessory, Coding Pegs Срок поставки 3-4 недели

Поздравляем! Вы получили бесплатную доставку на ваш заказ!

Оформить заказ

Заказанное количество не является кратным. Правильное количество должно быть кратным .

Введите номер вашего мобильного телефона

Нажимая на кнопку «Получить СМС с кодом для регистрации», Вы принимаете условия пользовательского соглашения.

Введите номер вашего мобильного телефона

Нажимая на кнопку «Получить СМС с кодом доступа», Вы принимаете условия пользовательского соглашения.

Введите номер вашего мобильного телефона

Нажимая на кнопку «Получить СМС с кодом доступа», Вы принимаете условия пользовательского соглашения.

Введите номер вашего мобильного телефона

Нажимая на кнопку «Получить СМС с кодом доступа», Вы принимаете условия пользовательского соглашения.

Сохранение профиля

Данные сохранены!

Отменить удаление будет невозможно

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

12

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

Куда доставить заказ?

Москва


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

Выберите город

Cortex M3 производства STMicroelectronics STM3210C-EVAL

нет в наличии

по запросу

Запросить

Вы можете запросить у нас любое количество STM3210C-EVAL, просто отправьте нам запрос на поставку.
Мы работаем с частными и юридическими лицами.

STM3210C-EVAL описание и характеристики

Ср-во разработки: STM32; STM32F103VBT6; Архитектура: Cortex M3

Бесплатная доставка
заказов от 5000 ₽

Доставим прямо в руки или в ближайший пункт выдачи


Смежные товары

CAB/AG

Соединительный кабель; PIN: 1; зеленый; 10шт; 250мм

по запросу

Подробнее

CAB/GR

Соединительный кабель; PIN: 1; серый; 10шт; 250мм

по запросу

Подробнее

CAB/AB

Соединительный кабель; PIN: 1; синий; 10шт; 250мм

по запросу

Подробнее

CAB/ABL

Соединительный кабель; PIN: 1; черный; 10шт; 210мм

по запросу

Подробнее

CAB/AR

Соединительный кабель; PIN: 1; красный; 10шт; 250мм

по запросу

Подробнее

WIRE JUMPER MALE TO FEMALE 10PCS

Соединительный кабель; «папа»-«мама»; PIN: 1; 150мм; 10шт.

по запросу

Подробнее

WIRE JUMPER FEMALE TO FEMALE 10PCS

Соединительный кабель; «мама»-«мама»; PIN: 1; 150мм; 10шт.

по запросу

Подробнее

WIRE JUMPER MALE TO MALE 10PCS

Соединительный кабель; «папа» / «папа»; PIN: 1; 150мм; 10шт.

по запросу

Подробнее

Похожие товары

STEVAL-IPM15B

Ср-во разработки: вычислительное; STGIB15CH60TS-L; двигатели; 9А

от 19 883 ₽

+2982 балла

Подробнее

STEVAL-POEL45W1

Ср-во разработки: вычислительное; LED6000,PM8805,SPBTLE-1S

от 31 309 ₽

+4696 баллов

Подробнее

STM8-SO8-DISCO

Ср-во разработки: STM8; STM8L001J3M3,STM8L050J3M3,STM8S001J3M3

от 2 606 ₽

+1173 балла

Подробнее

STEVAL-ISA183V1

Ср-во разработки: вычислительное; VIPer35LD; винтовой; 0,03÷1А

от 12 334 ₽

+1850 баллов

Подробнее

STM32091C-EVAL

Ср-во разработки: STM32; STM32F091VCT6; Архитектура: Cortex M0

от 61 826 ₽

+9274 балла

Подробнее

STEVAL-IPM05F

Ср-во разработки: вычислительное; STGIF5CH60TS-L; двигатели; 3А

от 19 883 ₽

+2982 балла

Подробнее

STEVAL-ILD004V2

Ср-во разработки: вычислительное; винтовой; 50÷60Гц; 3/600Вт

от 21 189 ₽

+3178 баллов

Подробнее

NUCLEO-L476RG

Ср-во разработки: STM32; STM32L476RGT6; Порты расширения: 2

от 5 546 ₽

+8319 баллов

Подробнее

NUCLEO-F030R8

Ср-во разработки: STM32; STM32F030R8T6; Порты расширения: 2

от 3 882 ₽

+1747 баллов

Подробнее

32F412GDISCOVERY

Ср-во разработки: STM32; STM32F412ZGT6,ЖК-дисплей

от 13 032 ₽

+5864 балла

Подробнее

STEVAL-DPSLLCK1

Ср-во разработки: STM32; разъем питания,винтовой; базовая плата

от 193 770 ₽

+29066 баллов

Подробнее

STEVAL-ILD005V1

Ср-во разработки: вычислительное; STF17N62K3; винтовой; 50÷60Гц

от 18 034 ₽

+2705 баллов

Подробнее

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

20800078

Enclosure, Accessory, Coding Pegs Срок поставки 3-4 недели

Поздравляем! Вы получили бесплатную доставку на ваш заказ!

Оформить заказ

Заказанное количество не является кратным. Правильное количество должно быть кратным .

Введите номер вашего мобильного телефона

Нажимая на кнопку «Получить СМС с кодом для регистрации», Вы принимаете условия пользовательского соглашения.

Введите номер вашего мобильного телефона

Нажимая на кнопку «Получить СМС с кодом доступа», Вы принимаете условия пользовательского соглашения.

Введите номер вашего мобильного телефона

Нажимая на кнопку «Получить СМС с кодом доступа», Вы принимаете условия пользовательского соглашения.

Введите номер вашего мобильного телефона

Нажимая на кнопку «Получить СМС с кодом доступа», Вы принимаете условия пользовательского соглашения.

Сохранение профиля

Данные сохранены!

Отменить удаление будет невозможно

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

12

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

Куда доставить заказ?

Москва


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

Выберите город

Знакомство с микроконтроллерами STM32 — Utmel

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

Каталог

 

Ⅰ STM32 Введение в микроконтроллер

Серия STM32 основана на ядре ARM Cortex-M3 , специально разработанном для встраиваемых приложений, требующих высокой производительности, низкой стоимости и низкого энергопотребления. Он разделен на различные продукты в соответствии с базовой архитектурой: среди них серия STM32F включает: «расширенную» серию STM32F103, «базовую» серию STM32F101, «взаимосвязанную» серию STM32F105, STM32F107 и расширенную серию с тактовой частотой 72 МГц. который является продуктом с наивысшей производительностью среди аналогичных продуктов. Базовая тактовая частота составляет 36 МГц, а производительность 16-битных продуктов значительно выше по цене 16-битных продуктов. Это лучший выбор для пользователей 32-битных продуктов. Обе серии имеют встроенную флэш-память от 32К до 128К, разница заключается в сочетании максимальной емкости SRAM и периферийного интерфейса. При тактовой частоте 72 МГц код выполняется из флэш-памяти, а STM32 потребляет 36 мА, что эквивалентно 0,5 мА/МГц.

STM32

Микроконтроллер представляет собой разновидность микросхемы интегральной схемы, в которой используется технология СБИС для интеграции ЦП центрального процессора, оперативной памяти ОЗУ, постоянной памяти ПЗУ, различных портов ввода/вывода, систем прерываний. , таймеры с возможностями обработки данных, счетчик и другие функции (могут также включать схему управления дисплеем, схему широтно-импульсной модуляции, аналоговый мультиплексор, аналого-цифровой преобразователь и другие схемы) в кремниевый чип для формирования небольшой и полной микрокомпьютерной системы. Поскольку 8-разрядные однокристальные микрокомпьютеры имеют простую внутреннюю структуру, небольшой размер и низкую стоимость, они широко используются в некоторых более простых контроллерах. Обычные 8-разрядные микроконтроллеры в основном включают серию 51 от Intel, систему AVR от Atmel, серию PIC от Microchip, серию MSP430 от TI и так далее. А STM32 — это своего рода более мощный 32-битный микроконтроллер. Самое большое отличие его от 8-битного микроконтроллера в том, что он может не только использовать регистры для программирования, но и использовать для программирования официально предоставленные библиотечные файлы, что не только удобно для программирования, но и проще трансплантировать.

Ⅱ Разница между микроконтроллером STM32 и микроконтроллером 51

Микроконтроллер — это устройство, которое объединяет ЦП (работа, управление), ОЗУ (хранение данных-память), ПЗУ (хранение программ), устройства ввода и вывода (последовательный порт, параллельный порт и т.д.), и система прерываний на этом же чипе.

В нашем собственном персональном компьютере ЦП, ОЗУ, ПЗУ, ввод-вывод — все это отдельные микросхемы, а затем эти микросхемы устанавливаются на материнскую плату, которая составляет материнскую плату нашего ПК, которая затем собирается в компьютер. Микроконтроллер концентрирует их на одном чипе.

1.

51 микроконтроллер

 51 микроконтроллер – это наиболее широко используемый 8-разрядный микроконтроллер и самый простой в освоении однокристальный микрокомпьютер. Впервые он был представлен Intel. Благодаря своей типичной структуре и полностью централизованному управлению выделенными шинными регистрами, многочисленным функциям логических операций с битами и богатой системе команд, ориентированной на управление, его можно назвать поколением «классики», которое является развитием основы других микроконтроллеров.

Особенности микроконтроллера 51

Микроконтроллер 51 стал классическим и простым в использовании чипом. В основном он имеет следующие характеристики.

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

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

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

51 недостатки микроконтроллера

(1) Необходимо расширить AD, EEPROM и другие функции, что увеличивает нагрузку на аппаратное и программное обеспечение.

(2) Хотя контакт ввода-вывода прост в использовании, он не имеет возможности вывода на высоком уровне. Это также самая большая слабость микроконтроллеров серии 51.

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

(4) 51 имеет плохую защитную способность, и микросхему легко сжечь.

51 Диапазон микроконтроллеров MCU

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

Наиболее часто используемые устройства: 8051, 80C51.

2. Микроконтроллер STM32

Серия микроконтроллеров STM32, выпущенная производителями ST. Друзья в отрасли знают, что это серия микроконтроллеров с высокой производительностью, и ее функции чрезвычайно эффективны. Он основан на ядре ARM Cortex-M, специально разработанном для встроенных приложений, требующих высокой производительности, низкой стоимости и низкого энергопотребления; он также имеет первоклассные периферийные устройства, двойной 12-битный АЦП 1 мкс, UART 4 ​​Мбит/с, SPI 18 Мбит/с и т. д.

stm32f103c8t6

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

Характеристики микроконтроллера STM32

(1) Ядро: 32-разрядный процессор ARM Cortex-M3, максимальная рабочая частота 72 МГц, 1,25 DMIPS/МГц, однотактное умножение и аппаратное деление.

(2) Память: 32–512 КБ флэш-памяти и 6–64 КБ памяти SRAM встроены в микросхему.

(3) Часы, сброс и управление питанием: 2,0–3,6 В, напряжение питания и интерфейса ввода/вывода, POR, PDR и программируемый детектор напряжения (PVD), кварцевый генератор 4–16 МГц, встроенный перед отправкой с завода- скорректированная схема RC-генератора 8 МГц, внутренняя схема RC-генератора 40 кГц, PLL для тактовой частоты процессора, кварцевый генератор 32 кГц с калибровкой для RTC.

(4) Режим отладки: последовательная отладка (SWD) и интерфейс JTAG, до 112 быстрых портов ввода/вывода, до 11 таймеров, до 13 коммуникационных интерфейсов.

Наиболее часто используемые устройства STM32

Наиболее часто используемые устройства: серия STM32F103, серия STM32 L1, серия STM32W.

3. Разница между 51 и STM32

Микроконтроллер 51 — это собирательное название всех микроконтроллеров, совместимых с системой команд Intel 8031. Родоначальником этой серии микроконтроллеров является микроконтроллер Intel 8031. Позже, с развитием технологии флэш-ПЗУ, микроконтроллер 8031 ​​добился значительного прогресса и стал одним из наиболее широко используемых 8-битных микроконтроллеров, а его представительной моделью является AT89.серия АТМЭЛ.

Микроконтроллер STM32 представляет собой 32-разрядный микроконтроллер производства ST (STMicroelectronics), использующий в качестве ядра ARM cortex-M3. Его внутренние ресурсы (регистры и периферийные функции) намного больше, чем у 8051, AVR и PIC. Он в основном близок к ЦП компьютера и подходит для мобильных телефонов, маршрутизаторов и т. д.0032

1) Независимо от того, используются ли аналоговая часть и часть AD, VCC и GND, VDDA, VSSA, Vref (если на корпусе есть этот контакт) должны быть подключены к внешней стороне MCU и не могут оставаться плавающими.

2) Для каждой группы соответствующих VDD и GND необходимо разместить не менее одного 104 керамических конденсатора для фильтрации, причем конденсатор должен быть размещен как можно ближе к MCU.

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

2. сброс и запуск

1) Загрузочный контакт не имеет ничего общего с JTAG. Он используется только для определения начального адреса исполняемого кода после запуска MCU;

2) В схемотехнике контакт Boot не может использоваться, но внешний резистор должен быть подключен к земле или источнику питания, и он не должен оставаться плавающим; все носители данных, соответствующие трем режимам загрузки STM32, встроены в чип. Вот они:

(1) Пользовательская флэш-память = Флэш-память, встроенная в чип.

(2) SRAM = область оперативной памяти, встроенная в микросхему, которая является памятью.

(3) Системная память = определенная область внутри чипа. Когда чип покидает завод, в этой области предустановлен раздел Bootloader, который обычно называется программой ISP. Никто не может изменить или стереть содержимое этой области после того, как микросхема покинет завод, то есть это область ПЗУ.

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

BOOT1=x BOOT0=0 Загрузка с пользовательской флэш-памяти, это нормальный режим работы.

BOOT1=0 BOOT0=1 Загрузка из системной памяти. Программная функция этого режима задается производителем.

BOOT1=1 BOOT0=1 Загрузка со встроенной SRAM, этот режим можно использовать для отладки.

Используйте порт JTAG или режим SWD для программирования и выбора загрузки с флэш-памяти пользователя.

Выберите запуск из системной памяти при программировании программы в режиме ISP последовательного порта

3. Интерфейс программирования

Если вы хотите уменьшить количество сокетов, используйте симуляцию режима SWD. В этом режиме, если вы используете JLINK, вам нужно всего четыре провода. Четыре провода: 3,3 В, GND, SWDIO, SWCLK

Среди них

JTMS/SWDIO STM32 подключен к TMS порта JTAG;

JTCK/SWCLK STM32 подключен к TCK порта JTAG.

Если вы хотите использовать ULINK2, добавьте еще один «NRST», то есть пять.

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

4. Причины сбоя отладки и программирования

1) Целевой чип неправильно подключен и не может нормально работать:

Решение: Убедитесь, что минимальная система целевой платы правильно подключена и чип может работать нормально: VDD, VDDA, VSS и VDDS подключены правильно, схема сброса может быть надежно сброшена, а источники сброса не влияют друг на друга.

2) Первоначально записанный код в микросхеме влияет на новую операцию отладки:

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

Решение: Выберите контакт BOOT0/BOOT1 чипа для загрузки из ОЗУ или сначала сотрите код в чипе.

3) Чип защищен от чтения/записи:

Инструмент отладки не может читать или записывать флэш-память, встроенную в чип. Решение: сначала используйте инструмент отладки, чтобы снять защиту от чтения/записи чипа.

Типичная структура проекта STM32 — документация VisualGDB

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

Типичный проект STM32 состоит из следующих частей:

  1. Библиотека STM32 HAL, содержащая реализации таких функций, как HAL_GPIO_WritePin() .
  2. Файл конфигурации HAL. Обычно он находится в каталоге проекта и называется 9.0005 stm32xxxx_hal_conf.h .
  3. Файл запуска ( startup_stm32xxxxx.c ), определяющий таблицу векторов прерываний.
  4. Код, специфичный для проекта, например функция main() и другие функции, которые она вызывает.
  5. Другие библиотеки и фреймворки (например, FatFS).

Многие странные проблемы с проектами STM32 вызваны комбинированием несовместимых версий этих компонентов. Например. попытка использовать более новую библиотеку HAL со старым hal_conf.h может привести к ошибкам сборки, поскольку новая библиотека будет ожидать некоторых макросов, которых нет в старом файле.

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

Физическое расположение каждого файла можно найти в окне «Свойства» в обозревателе решений: альтернативно , вы можете открыть мышь в редакторе VS и навести указатель мыши на заголовок его вкладки, чтобы узнать полный путь:

Когда вы создаете обычный проект с помощью Мастера встроенных проектов VisualGDB, VisualGDB автоматически загружает копию файлов библиотеки STM32 (включая библиотеку HAL) и сохраняет их в папке %LOCALAPPDATA%\VisualGDB . Эти файлы появятся в папке Device-Specific Files в обозревателе решений. Вы можете использовать Свойства проекта VisualGDB -> Embedded Frameworks , чтобы добавить или удалить управляемую VisualGDB копию библиотеки HAL: Когда вы ссылаетесь на любую платформу через VisualGDB Project Properties -> Embedded Frameworks , он сделает следующее:

  • Автоматически добавит необходимые источники в обозреватель решений в разделе Device-Specific Files . ПРЕДУПРЕЖДЕНИЕ: это переопределит любые добавленные вручную файлы .
  • Автоматически добавлять связанные каталоги включения и макросы препроцессора в файл stm32.props (или stm32.mak ). Они будут храниться отдельно от обычных свойств проекта VS, поэтому вы не сможете их случайно перезаписать.

Когда вы открываете проект на другом компьютере, VisualGDB автоматически загружает BSP STM32 (включая библиотеку HAL) в папку %LOCALAPPDATA%, поэтому вам не нужно будет копировать эти файлы вместе с вашим проектом. Вы можете узнать текущую установленную версию STM32 BSP через Tools->VisualGDB->Manage VisualGDB Packages :VisualGDB Custom Edition или выше позволяет установить несколько версий одного и того же BSP и выбрать версию для каждого проекта через Свойства проекта VisualGDB -> Встроенный проект .

ПРЕДУПРЕЖДЕНИЕ: Каждый раз, когда вы меняете какие-либо целевые настройки в свойствах проекта VisualGDB, список файлов в папке Файлы для конкретных устройств перезаписывается. Если вы хотите вручную добавить в проект новые файлы из BSP VisualGDB, убедитесь, что вы добавили их вне папки Device-Specific Files . Если вы хотите удалить некоторые файлы, которые были добавлены автоматически, используйте кнопку «9».0005 Excluded From Build ”вместо этого флага: файлы, исключенные из сборки, останутся в обозревателе решений, но будут пропущены при сборке проекта. VisualGDB не перезапишет этот флаг при обновлении списка файлов в обозревателе решений. Обратите внимание, что флаг работает независимо для каждой конфигурации.

Если вы создаете проект путем клонирования одного из образцов STM32CubeMX с помощью мастера проектов VisualGDB, он не будет ссылаться на платформы STM32 через встроенные платформы 9Механизм 0006. Вместо этого он будет напрямую включать только файлы из исходного образца ST. Они будут расположены в папке Shared sources за пределами Файлы для конкретных устройств : этот тип проекта рекомендуется для быстрого изучения образцов кода STM32, однако может потребоваться нетривиальное изменение при обновлении до более новой версии STM32 BSP или при попытка сослаться на дополнительные библиотеки через Свойства проекта VisualGDB -> Embedded Frameworks .

Аналогично клонированным образцам STM32CubeMX, импортированные проекты, сгенерированные генератором STM32CubeMX, не будут ссылаться на обычную библиотеку HAL. Вместо этого они будут включать свою собственную копию файлов HAL и будут ссылаться на них напрямую. Единственным файлом, управляемым VisualGDB, будет файл 9.0005 startup_stm32xxxx.c файл, содержащий таблицу векторов прерываний:

Если вы используете VisualGDB Custom Edition или выше, вы можете преобразовать любой обычный проект STM32 в автономный. Автономные проекты включают собственную копию всех необходимых файлов в папке \BSP , но полностью отделены от обычного BSP STM32 и не позволяют ссылаться на какие-либо дополнительные платформы:

В следующей таблице перечислены общие Типы проектов STM32, их преимущества и недостатки:

Тип проекта Рекомендуемое использование STM32 HAL Расположение Замечания
Обычный Долгосрочные проекты %LOCALAPPDATA%\VisualGDB\<…> Можно относительно легко обновить до более новых версий STM32 BSP.
Клонированные образцы STM32CubeMX Быстрое изучение примеров STM32 %LOCALAPPDATA%\VisualGDB\<…> Для обновления STM32 BSP или ссылки на новые платформы может потребоваться ручное изменение проекта.
Импортированные проекты STM32CubeMX Долгосрочные проекты, требующие изменений через STM32CubeMX. В соответствии с настройками STM32CubeMX Некоторые встроенные платформы могут конфликтовать с версиями, поставляемыми STM32CubeMX.
Автономные проекты Проекты, требующие исправления библиотек STM32 <Каталог проекта>\BSP Включение отдельной копии файлов STM32 в проект значительно увеличивает его размер.

Большинство проблем с проектами STM32 возникает из-за использования нескольких копий STM32 HAL (например, ссылка на одну через Свойства проекта VisualGDB -> Embedded Frameworks поверх копии, включенной в проект STM32CubeMX), или из-за использования несовместимых версий компоненты (например, используя старый файл конфигурации с более новым HAL).

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

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *