Установка среды и компилятора
Сама программа поставляется компанией ST бесплатно. Скачать её можно с официального сайта ST по этой ссылке. Установка не имеет каких либо особенностей.
Для работы с этой средой дополнительно необходим компилятор. Можно использовать два компилятора COSMIC и REISONANCE. COSMIC ранее был платный, но сейчас его можно скачать здесь и установить абсолютно бесплатно, его и будем использовать. Единственная проблема — ожидание ключа активации — 1-2 рабочих дня. Также необходимо раз в год активировать компилятор заново (проще переустановить).
После установки можно сразу запустить среду, создать новый проект и начать программировать. Но тогда придётся прописать все пути руками. Гораздо проще использовать стандартную библиотеку от ST, вместе с ней поставляется шаблон проекта. Так мы и поступим.
Набор стандартных библиотек для STM8, новый проект
Стандартные библиотеки для STM8 можно скачать здесь. Библиотека поставляем в zip архиве с подробным описанием и широким набором примеров. Внутри она имеет следующий набор папок.
Для создания нового проекта, проще всего скопировать всю папку библиотеки STM8S_StdPeriph_Lib, назвать её по имени проекта, лучше по-английски. Далее из Visual develop IDE необходимо открыть файл проекта:
Лучше сразу связать это расширение с нашей IDE.
При старте нового проекта из шаблона, вы получаете сразу готовые настройки под все МК STM8.
Остаётся только выбрать нужный МК и начать разработку. Остальные можно удалить.
Первым делом необходимо сделать начальные настройки проекта. Нажимаем на нужной серии правой кнопкой мышки и выбираем Settings. В данном окне переходим на закладку MCU selections и выбираем нужный МК:
Далее нажимаем на плюс, открываем файлы проекта, видим файл main.c, нажимаем на нем два раза мышкой и начинаем программирование.
Все проекты для наших приборов будут созданы из шаблона проекта. Соответственно, чтобы с ними работать, вам необходимо скачать папку проекта и запустить ярлык из папки проекта, как написано выше.
Если вам не хватает памяти, то можно отключить обработку исключительных ситуаций. Это делается через файл stm8s_conf.h. Надо закомментировать строку:
#define USE_FULL_ASSERT (1).
В результате освободится довольно много памяти для программы. Также можно заменить простые процедуры библиотеки на прямую запись в регистры.
Настройка использования типовых библиотек СИ
Если вы планируете использовать в проекте стандартные библиотеки языка СИ, например math (функция RAND) или другие, то необходимо, кроме указания в тексте соответствующего #include «math.h», в настройках проекта на закладке Linker, указать использование стандартных библиотек:
Работа в среде
Среда очень похожа на Visual C, поэтому не должна вызывать у вас проблем. Для компиляции проекта необходимо нажать кнопку Compile:
Для запуска отладки и прошивки МК — кнопку Debug:
При написании кода по комбинации «CTRL пробел» вызывается подсказка по имени переменной или функции:
По имени функции, по правой кнопке мышки можно быстро перейти в самой функции — команда «Go to defenition».
Это очень удобно использовать для функций стандартных библиотек, чтобы познакомиться как они реализованы.
Если вы используете в проекте внешний кварц, то его частоту придётся задать руками в файле проекта «stm8s.h»:
Работа с прерываниями организована в виде предопределённых функций в файле «stm8s_it.c», остаётся только написать свой код в нужной функции.
Сама библиотека очень хорошо описана в файле «stm8s-a_stdperiph_lib_um.chm» в корне стандартной библиотеке.
Работа с библиотекой достаточно удобная, за исключением немного большого расхода памяти на вызов стандартных процедур, какую то часть функций можно было реализовать просто через «#define»
В данной статье мы не будем подробно описывать, как писать программу для STM8 в этой среде, это будет сделано в статье по приборам на основе этого микроконтроллера.
Симулятор
Данная среда имеет очень неплохой симулятор и позволяет отлаживать код без наличия самого микроконтроллера. Для запуска симулятора необходимо указать в настройках отладки, что будет использоваться симулятор:
После этого можно запустить отладку по вышеописанной кнопке и начнётся работа в симуляторе. Симулятор не поддерживает работу с внешним кварцем, поэтому если у вас в коде инструкции по переходу на внешний кварц, их надо закомментировать. Сами настройки процессора можно задать при первом запуске:
В симуляторе доступны все регистры, работают прерывания по таймерам, можно проводить отладку сложных формул и функций. Также в нем можно оптимизировать программу. Виден полученный код на ассемблере. Можно измерять скорость вычислений в тиках процессорного времени и миллисекундах. Можно симулировать состояние выводов МК. В общем, вещь однозначно очень удобная.
Отладка, прошивка, оптимизация кода
Для работы с реальным устройством вам необходимо иметь программатор — ST-LINK. В настройке отладки выбираем его, остальные настройки оставляем по умолчанию.
Далее все просто, при начале отладки — программа компилируется, прошивается микроконтроллер и начинается отладка. Если вам необходимо просто прошить МК, то надо начать отладку и после ее начала — прервать ее, по соответствующей кнопке.
В процессе отладки вам доступна возможность установки не более 8 точек останова и возможет просмотр всех переменных, а также состояния внутренних регистров, во время остановки программы. Это очень мощный инструмент, который позволяет изучить, как работает микроконтроллер, а также найти и поправить ошибки в своей программе. Через меню «View» во время отладки вы можете включить нужные окна.
Например, окно «Watch» позволяет просмотреть любые переменные, провести вычисления:
Не забывайте про оптимизацию кода. Во первых, вы не сможете просмотреть содержимое локальных переменных, если это необходимо — то надо сделать их глобальными. Во вторых условные переходы могут быть расположены по другому, конструкции if else компилятор может перерасположить. Если вам необходимо, чтобы отладка шла в соответствие с написанным кодом, то в настройках проекта надо отключить оптимизацию:
Программирование option byte
Для программирования option byte необходимо через меню TOOLS запустить porgrammer. Это отдельное приложение для прошивки МК, через него можно прошить option byte.
Изменение значения осуществляется по правой кнопке мышки. Программирование — на закладке Program по кнопке START. Предварительно на закладке Settings надо задать типа программатора ST-LINK.
Контроль размера прошивки
После компиляции кода можно посмотреть размер прошивки, для того чтобы определить, что занимает больше всего места и т. д. Вся информация находится в текстовом файле по адресу:
смотреть нужно все позиции, кроме сегмента debug и info.
Там же рядом находится прошивка в формате s19, прошить её можно через UART или другими средствами.