STM32
Первый проект на STM32 Discovery
Отладочная плата STM32 Discovery представляет собой одно из простых и дешевых решений для начального изучения 32-разрядных ARM микроконтроллеров. Благодаря установленному отладчику и наличию светодиодов и кнопки, для первого проекта нет необходимости создавать какую-либо электрическую схему. Задачей, решаемой первым проектом, выбрано попеременное мигание светодиодами. В качестве среды разработки применяется IDE Atollic TrueSTUDIO Lite, распространяемая фирмой STMicroelectronics по бесплатной лицензии.
Запуск IDE и создание проекта
Запуск IDE ничем не отличается от подобной процедуры для других программ. После двойного клика на иконку, первым делом появится окно Select Workspace, запрашивающее рабочую папку проекта. После выбора нужной папки открывается приглашение Atollic TrueSTUDIO, а затем рабочее окно среды программирования.
После открытия основного окна из выпадающего меню File, выбирается пункт New, в котором выделяется раздел Project и пункт C Project.
Открывается мастер настройки проекта, пошагово определяющий основные параметры. Самым важным является первое окно C Project, в котором вводятся имя проекта Project Name и его тип – Project Type. Последний пункт, при использовании плат от STMicroelectronics, должен равняться STM32 C Project.
Во втором окне мастера проекта, под названием TrueSTUDIO Build Settings, самым важным является пункт Evaluation Board, в котором необходимо выбрать название используемой отладочной платы, в данном случае STM32_Discovery. В оставшихся окнах настройки больше ничего менять не нужно.
После завершения настройки проекта, откроется рабочее окно, в котором и будут происходить все основные действия по разработке программ. Для отображения исполняемого файла в инспекторе кода следует открыть папку SRC, и выбрать файл main.c. Данный файл создается из шаблона, предназначенного для нескольких плат. Поэтому в нем достаточно много определений, не нужных в первом проекте. При желании всю лишнюю информацию можно убрать.
Разработка первой программы
Для первого проекта использован набор библиотек stm32vldiscovery_package, поставляемых STMicrolectronics. Специально для платы STM32 Discovery существует библиотека STM32vldiscovery, в которой описаны функции работы с устройствами, расположенными на плате.
Программа для STM32 Discovery не использует никаких процедур работы с периферийными устройствами, кроме встроенных светодиодов. Мигание реализовано циклом задержки. Для этой цели можно использовать встроенные таймеры, но для простоты проекта они не задействованы.
/* Includes */
#include <stddef.h>
#include "stm32f10x.h"
#include "STM32vldiscovery.h"
static __IO uint32_t TimingDelay;
void Delay(uint32_t nTime);
void TimingDelay_Decrement(void);
/** Тело программы */
int main(void)
{
/** Настройка портов**/
STM32vldiscovery_LEDInit(LED3);
STM32vldiscovery_LEDInit(LED4);
STM32vldiscovery_LEDOff(LED3);
STM32vldiscovery_LEDOff(LED4);
/** Основной цикл **/
while (1)
{ STM32vldiscovery_LEDOn(LED3);
STM32vldiscovery_LEDOff(LED4);
Delay(500000);
STM32vldiscovery_LEDOff(LED3);
STM32vldiscovery_LEDOn(LED4);
Delay(500000);
}
}
/** Подпрограмма задержки**/
void Delay(uint32_t nTime)
{ TimingDelay = nTime;
while(TimingDelay != 0)
{ TimingDelay--;
}
}
Запуск и отладка программы
После того как код набран, можно перейти к запуску и отладке программы. Делается это нажатием кнопки DEBUG (зеленый жучек) или клавиши F11. После этого программа откопилируется, и если все пройдет успешно, откроется окно настройки отладчика, в котором можно просто нажать Ok. Далее происходит запуск встроенной системы отладки, и прошивка программы в микроконтроллер.
Работа с отладчиком не отличается от других подобных систем. Например, нажимая кнопки пошагового исполнения F5 или F6 можно проследить работу программы по отдельным строкам кода, а после нажатия F8, контроллер начнет нормальное исполнение программы. В процессе отладки на плате мигает красный светодиод COM.