Ыыы... Лично мне Куб не понравился... Точнее не так. Он-то мне сначала понравился - типа удобно, но под IAR он чет у меня конфликтовал c программой мигания светодиодом
(библиотеки HAL не совмещались с более старыми SPL). Я поскрипел зубами, а потом понял, что могу писать на С все в привычном мне стиле Асм: при настройках и с периферией работать непосредственно с регистрами, а способы проверки условий (например - нажатия кнопки или выхода параметра за допустимый предел) - в С очень похожи на Асм...
Так что я не пользуюсь Кубом. Поскольку все мои программы я пишу "для себя", могу себе позволить это делать так, как удобно мне. У меня есть "заготовки" для настройки различной периферии на разных ядрах семейства (ну те, что я уже использовал) и я их использую в новых проектах. Мне так удобнее и привычнее.
Кстати - вот у STM32F103 как раз некоторые настройки отличаются от всех прочих STM'ов - думаю, что этот проц был один из первых выпущен, и тогда еще не придумали, как лучше. Например - порты настраиваются не так, как я описал, USART немного другой, ну и там еще по мелочи.
В общем - советую начать с даташитов... Есть мой перевод на русский, если надо - ну он не всеобъемлющий, но основное я перевел.
А в Кубе я сейчас подглядываю систему синхронизации при включении незнакомых STM'ов - она там довольно наглядная (картинка
).
В общем - ставь Atollic, IAR, или чего другое понравится, приобрети ST-Link китайский - и вперед!
У меня под эту платку с STM32F103 осциллограф написан
. Можешь прицепить к ней экранчик на ili9341 с SPI интерфейсом - а программу я тебе сброшу - сможешь для начала надергать из нее кусков - настройки портов, таймеров, SPI, DMA...
PS Почему я работаю в Атоллике? Сначала поставил IAR - довольно удобно... Все - кроме создания проекта - для меня это был такой танец с бубном! (возможно - я отупел со свими Асмовскими привычками - но мне было проще в одном проекте все работы делать по разным программам, чем создать новый проект...)
А потом коллега по работе посоветовал Атоллик... Тут, по крайней мере, создавать проект немного легче (особенно если не подключать стандартные библиотеки). Я понимаю - это же Ересь - без библиотек обходиться
, это не по правилам! Но - в стандартных библиотеках всегда куча лишнего - причем лишнего в коде, что замедляет исполнение программы (а для осциллографа или Хаммонда это таки критично). Потому я из библиотек "выпиливаю" нужные кусочки и вставляю себе в проект.
А обольщаться огромным быстродействием STM не стоит - использование "стандартных" С-шных подходов легко сводит его к скорости Atmeg'и.
А с точки зрения удобства работы/интерфейса - и IAR и Atollic и Keil - они как близнецы-братья, все очень похоже.