Freertos бързо стартиране на STM32 f4 откритие, blablacode

FreeRTOS - операционна система в реално време. Шансовете са, ако имате нужда от операционната система на вашия микроконтролер, а след това да го използвате;) IMHO
Dotstoinstva: безплатен, бърз, много архитектурни портове (не се налага да научат нещо ново)
Недостатъци (в) документ се разпространява безплатно. Но не се тревожете! Има тон на сайтове по тази тема, включително и на руски език.

Фактът, че няма да има в тази статия: една история за това как да компилирате и стартирате FreeRTOS на STM32 камък. 2 Стартирайте задача, мигащи светодиоди.

На първо място, разбира се, се залюлее FreeRTOS. Това може да стане от официалния сайт OS freertos.org
В резултат на архива ще намерите изходния код в папката източник, и примерите в папката Demo
Отидете в папката източник.
Веднага казвам, че аз съм на работа в Eclipse на Ubuntu Linux, тя казва, че имам GCC компилатор;)
В папката на папката източник, вижте Включете заглавка на файловата система, и преносим папка, в която се съхранява на пристанищата за различните архитектури. От тази папка, копиране на файловете, които искате, да изтриете останалите.
Отиди FreeRTOSV7.1.1 / Източник / преносим / GCC / ARM_CM4F
и копирайте двата файла там port.c и portmacro.h. Съответно източника премести в папката източник. и заглавната част на файла в източника / Включване на папка
Сега копирайте папка MemMang heap_2.c файла в директорията източник.
След като готови, можете да изтриете преносими с папки.

Готово. Разпределението се получава. Сега FreeRTOSConfig.h инсталационния файл. Аз не съм наистина се спирам на това, всъщност там и е настроен. Но това е отделна статия. Резервация само на параметъра:

Можете също така трябва да преименувате или оставам на прекъсване на операционната система да ги разбере:

Файлът Стартиране нашите операционни системи програма тичам и дефинира две равни задача - диоди мигат.

Сега два проблема:

В FreeRTOS го бяха решили да използват унгарски бройна система, така че да не може да бъде изненадан, наставка и представка от функцията. Въпреки, че аз мисля, че е пълен ideotizmom.
Моля, имайте предвид, че всяка FreeRTOS задача трябва да се указател към структура нищожен, така, варианти на могат да бъдат прехвърлени.

В главните Initialize периферни устройства:

Създаване на две задачи:

Това се прави, както можете да видите с помощта на функцията xTaskCreate. Първият параметър - указател към функция (името му) А, а вторият - на името на процес (може да се каже, че се използва за красота), а след това - минималният размер на стека за функцията. след това - опции (ние не го споделите - NULL), предпоследната имат предимство (2) и последното показалеца xTaskHandl с която можете да управлявате по-нататък процесите.

Изпълнение planirovshik задачи:

Всъщност всички. Прекъсване ние нямаме, така че аз изтрити файлове с прекъсвания ..
Аз имам това:

PS Не забравяйте да кажете на свръзката папката, в която да се търси за заглавията.

Ако някой има проблем с компилиране и да получите тук тези грешки:
Грешка: избран процесор не поддържа режим Thumb `vstmdbeq r0, # '!
Грешка: инструкция не е позволено в IT блок - `stmdb r0, # '!
Грешка: избран процесор не поддържа режим Thumb `vldmiaeq r0, # '!
Грешка: инструкция не е позволено в IT блок - `ldmia r0, # '!

Най-вероятно погрешно флаг 1 -mfloat-Аби = мека вместо -mfloat-Аби = softfp
Но с такива флагове той ще се развесели:
-mcpu = кора-М4 -mthumb -mfloat-ABI = softfp -mfpu = fpv4-SP-D16 -O0 -fmessage дължина = 0 -fsigned-харак -ffunction-раздели -fdata сечения

Ако имах stm32f401 откритие