Работаем с STM32-Discovery

26.10.2014 16:54, автор DiEitch

Попала мне руки вот такая платка на микроконтроллере STM32F051R8T6 (ядро - Cortex-M0), со встроенным отладчиком ST-LINK V2.

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

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

- встроенный отладчик/дебаггер ST-LINK V2 (кстати, тоже на контроллере – STM32F103C8T6, который позже может сгодиться как сопроцессор

чего-либо, например, как контроллер экрана, клавиатуры или, может, математический сопроцессор);

- 2 софтовых светодиода и кнопка пользователя;

- возможность поставить кварцы (как основной, так и часовой, также придётся впаять и конденсаторы), изначально контроллер тактируется  

от встроенного RC на 8МГц с возможностью умножить в PLL на 6 (т.е. максимальная частота процессора 48МГц) или от встроенного RC на    

40кГц;

- основные параметры контроллера: 8 кБайт RAM, 64 кБайт FLASH, 12бит АЦП и ЦАП, RTC (с отдельным батарейным питанием, вывод выходит  

на внешний разъём), таймеры, контроллеры популярных шин: SPI, RS232, I2C и т.д.

Это, конечно, не густо, но для простых приложений вполне подойдёт.

Чтобы освоить плату, первым делом, надо её запустить. Как сказал Архимед (или кто-то там): “Дайте мне пример блинка, и я напишу вам любую программу на любом микроконтроллере”. Как оказалось, запустить контроллер несложно, но и непросто (у некоторых с этим возникли проблемы).

Что же потребуется для запуска:

- среда разработки (я лично рекомендую сборку Keil MDK ARM 4.23 & RL-ARM 4.13 & HLP, она точно поддерживает данный процессор

и работает с ним вполне корректно);

- текст блинка (его можно попробовать для тренировки создать самостоятельно или внизу дам готовый проект);

- файлы инициализации (файл startup_stm32f0xx.s создаёт/копирует сам Keil при создании проекта, а вот system_stm32f0xx.c надо скачать и

вставить в проект, также пригодится подправленный мной с другого STM-а пример работы с портами LED.c + LED.h);

- если захочется поработать с отладчиком (а вам захочется, ибо прошить вы чип без дополнительных денежных вложений сможете

пока только через него!), нужны его драверы для USB (и настройки в проекте, что вы используете именно его). Кроме того,

перемычки CN2 должны стоять на плате (как на первом фото). Если вы их убираете, то можно “шить” другие контроллеры STM через

CN3).

Для тех, кто торопится – готовый проект блинка.Проект

Всё. Экспериментируйте. Продолжение следует…