- PVSM.RU - https://www.pvsm.ru -

Как надо дружиться с STM32

Не не не, все не так [1]!

Давайте дружиться с STM32 правильно!

Самая главная ошибка, сделанная автором — это неправильно выбранный инструментарий. Начинать дружиться с контроллерами STM32 надо, безусловно с плат STM32Fx-Discovery. На них уже есть программатор-отладчик, весь необходимый обвес, ноги для подключения периферии и плюшки в виде светодиодов, экранов, датчиков и ЦАП-ов в зависимости от платы. Цена дискаверей начинается от 10-ти долларов. Это копейки за мгновенный и безпроблемный старт. Т.е. вам вообще ничего больше из железа покупать не надо (mini-USB шнур, полагаю, дома найдется), чтобы помигать светодиодом, изучить системы пространственной ориентации, поработать с выводом звука и графики и сделать USB-устройство.

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

Но, допустим, не лежит у вас душа к дискавери. Ладно, я понимаю. Смотрим тогда, на чем же построены отладчики ST-Link V1/V2. А построены они на микроконтроллере STM32F103C8T6 (eta4ever [2], да да, он самый). Соответственно, если у тебя есть плата на этом МК, то ее можно превратить в программатор ST-Link V2. Для заливки прошивки можно воспользоваться либо инструкцией от STM (AN2557 STM32F10x in-application programming using the USART [3]) или той же дискавери, если есть под рукой и утилитой STM32 ST-LINK utility [4]. Или купите отладчик. Стоит он 25 долларов, но вещь полезная, если собираетесь хоть сколько серьезно этим заниматься.

Кстати, еще насчет платы. Китайцы продают много готовых плат, вроде вот таких [5]. Платка такая за 6 долларов — совсем неплохо. Лучше только такая платка за 4 доллара. Итак, заказываем такие платки, после получения превращаем одну в программатор, а с остальными развлекаемся. Ну не сказка ли?

Итак, как же сделать программатор? Пара резисторов, немножко провода и пятнадцать минут почитать вот эту тему [6]. Что с чем соединять:

— соединить РА5 и РВ13 это линия SWCLK
— между РВ14 и РВ12 резистор 220 Ом
— РВ14 линия SWDIO
— РА0 подключить к делителю из двух резюков 4,7кОм между GND и +3,3V

Прошиваем [7] вот этой прошивкой [8].

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

Пару слов про IDE. CooCox неплох, удобный и все такое, но у них очень туго с ресурсами и они не успевают поддерживать новые микроконтроллеры, да еще к тому же у них приоритет, похоже, LPC. Я так нарвался с поддержкой МК на плате STM32F0-Discovery. Ждал обещанной поддержки несколько месяцев, но плюнул и ушел на IAR. Иаровская среда называется EWARM (Embedded Workbench for ARM), бесплатной версии хватает за глаза (ограничение кода 8 кб, я ни разу не утыкался в него), скачивается отсюда [9]. Еще КуКокс грешит тем, что они ломают что-то периодически в новых релизах и стабильность среды невысокая — может просто закрыть все окна без сохранения изменений. Кто в общаге не жил, где свет вырубался раз в час и не имеет привычки нажимать Ctrl+S каждые 30 секунд, может попасть очень сильно. IAR тоже не без грехов, в первую очередь бесит уродская разметка кода и отсутствие выделения активного/неактивного кода в зависимости от директив препроцессора, но жить с этим можно. Важно, что просто так взять и построить проект под STM32 не выйдет (извините, не буду вставлять картинку с Боромиром). Если захотите, напишу подробную степ-бай-степ инструкцию (с картинками!) про то, как создать свой собственный проект с нуля.

P.S. А все-таки, дикавери! Потому что на чем-то еще взять и вот так с нуля сделать фиг получится:

Автор: imwode

Источник [10]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/stm32/78596

Ссылки в тексте:

[1] так: http://habrahabr.ru/post/247241/

[2] eta4ever: http://habrahabr.ru/users/eta4ever/

[3] AN2557 STM32F10x in-application programming using the USART: http://www.st.com/web/en/resource/technical/document/application_note/CD00161640.pdf

[4] STM32 ST-LINK utility: http://www.st.com/web/en/catalog/tools/PF258168

[5] вот таких: http://www.aliexpress.com/snapshot/6194978016.html

[6] вот эту тему: http://forum.easyelectronics.ru/viewtopic.php?f=17&t=6620&start=200

[7] Прошиваем: http://forum.easyelectronics.ru/viewtopic.php?p=342403#p342403

[8] вот этой прошивкой: http://forum.easyelectronics.ru/viewtopic.php?p=282160#p282160

[9] отсюда: http://www.iar.com/Service-Center/Downloads/

[10] Источник: http://habrahabr.ru/post/247255/