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 откритие