Прежде всего стоит отметить, что в практической работе совершенно не использовалась библиотека Standard Peripheral driver Library (SPL), чтобы избежать излишней абстракции и исключить процедуру поиска, установки, настройки - сейчас бы это только мешало и запутывало. При компиляции проекта использовались лишь определения периферии из заголовочных файлов компилятора Cosmic (CXSTM8). Посмотрим в заголовочный файл iostm8s103.h в котором описаны регистры периферии. Вот интересный фрагмент, описывающий порт PB. Управление всеми линиями этого порта умещается в пять восьмибитных регистров (однако на МС STM8S103F3T6 выведено лишь две линии порта PB, это PB4 и PB5)

Тривиальная, казалось бы, задача написать Hello world для STM8, но сделать это и понять окончательно все тонкости - вовсе не тривиальная задача. Существует 1001 способ помигать светодиодом на разных инструментах, со стандартной библиотекой периферии (SPL) и без нее, на Си и ассемблере. Я же хочу представить работу с той средой, которая уже имеется: STVD + CXSTM8. В качестве отладочной платы будет использоваться известная как "Blue pill" китайская плата, на борту которой стоит STM8S103F3P6. Такую плату можно приобрести на али (посмотрите предложения по ссылке STM8S103F3P6 board).

Для дальнейшей работы понадобятся, собственно, отладочная плата и программатор ST-Link. Сегодня продаются оригинальные (как на фото) или в виде "свистка" (китайский клон, похож на флешку в алюминиевом или пластиковом корпусе).

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

- ST Visual Develop - бесплатная среда разработки от STMicroelectronics

- IAR EW for STM8 - платная среда разработки (но есть выпуск Kick starter с ограничением в 8 кБ кода)

У первой есть один недостаток - нет встроенного компилятора языка C, есть только STM8 ассемблер. Этот недостаток можно восполнить скачав и установив сторонний компилятор Cosmic C Compiler (с некоторых пор он бесплатный).

Если со скачиванием и установкой IAR не возникает никаких проблем, то с парой ST Visual Develop (STVD) и Cosmic STM8 C Compiler (CXSTM8) придется немножко повозиться. Хотя на сегодняшний день хлопот от получения до использования продуктов стало меньше, чем ранее (активация Cosmic теперь через Web, раньше было через E-Mail, письма обрабатывались в ручную и лицензию приходилось ждать до 2-ух рабочих дней).

Микроконтроллеры STM8 от STMicroelectronics не отличаются выдающейся производительностью, объемами памяти (оперативной памяти от 1 до 6 кб). Они не выпускаются в корпусах DIP. По ним не так много учебников, как по PIC или AVR. Русскоязычная документация вовсе отсутствует. Все перечисленные недостатки компенсируются их преимуществами, растущим выпуском отладочных плат и возникновению обучающих статей в рунете (вроде этой). STM8 становятся все более популярными и годятся для современных проектов небольших дешевых устройств. Вот их основные преимущества:

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

- Высокая защита от электрического пробоя (выдерживает импульс до 4 кВ)