Начнем с создания базового проекта, который потом послужит основой для последующих примеров.
nis@jane ~/stm32/freertos $ mkdir 00-base/
nis@jane ~/stm32/freertos $ cd 00-base/
Чтобы автоматизировать сборку и прошивку проекта в МК создадим Makefile:
nis@jane ~/stm32/freertos/00-base $ touch Makefile
Также нам необходим скрипт сборщика stm32f102xb_flash.ld для упорядовачивания секций кода и данных, а также для контроля за размером всей системы:
nis@jane ~/stm32/freertos/00-base $ touch stm32f102xb_flash.ld
Стартовым файлом у нас будет startup.c:
nis@jane ~/stm32/freertos/00-base $ touch startup.c
Также для рабочего кода необходим файл work.c:
nis@jane ~/stm32/freertos/00-base $ touch work.c
И наконец заголовочный файл конфигурации FreeRTOS - FreeRTOSConfig.h:
nis@jane ~/stm32/freertos/00-base $ touch FreeRTOSConfig.h
После этого можно собрать проект:
nis@jane ~/stm32/freertos/00-base $ make
...
text data bss dec hex filename
4437 8 2912 7357 1cbd firmware.elf
После сборки видно, что проект имеет сравнительно малый размер - 4437 Б. Это еще раз подтверждает компактность ядра FreeRTOS. На этом создание базового проекта закончено.