|
|
  |
FreeRTOS + STM32, Посоветуйте в выборе RTOS |
|
|
|
Sep 8 2010, 11:12
|

Twilight Zone
  
Группа: Свой
Сообщений: 454
Регистрация: 17-02-09
Из: Челябинск
Пользователь №: 44 990

|
Привет ВСЕМ! Кто нить ставил FreeRTOS на STM32(F103 у меня), стоит ли вообще с ней связываться? Поделитесь опытом в выборе ОС. Мне нужно чтобы с поддержкой IAR была. FreeRTOS скачал, доков только по ней пока не нашел, есть «демки» и мануал урезанный выложили на сайте. Вот: FreeRTOS eBook Generic Cortex M3 Edition: "Using the FreeRTOS Real Time Kernel - a Practical Guide". http://www.freertos.org/Documentation/Free...n-and-book.htmlОС нужна для широкого круга задач. Спасибо!
Сообщение отредактировал Danis - Sep 8 2010, 11:13
--------------------
Magic Friend
|
|
|
|
|
Sep 8 2010, 13:29
|
Знающий
   
Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317

|
У меня несколько проектов на STM32 c FREERTOS, с IAR нет никаких проблем даже плагин есть что бы можно было отлаживать в дебагере IAR. ОС проверенная временем, у нее конечно не очень большой функционал, но его вполне достаточно. Имена API кривые но это тоже поправимо. На сайте есть вся инфа с примерами. Еще плюс что ее довольно легко отлаживать так как для этого заложено много всяких фич. Цитата Лучшая OS - самодельная. Лучший микроконтроллер самодельный!!!! почему вы его не засовываете а какой нибудь самодельный ASIC ? походу надо еще и самодельный компилятор сделать чтобы было все пучком. Цитата Добавлю от себя - в 95% случаях добавлять к переключателю задач ничего не нужно. Ну да, а синхронизация между задачами ? а разруливание доступа к ресурсам ? Цитата Делаете переключатель задач (Или выдираете его хоть из той же FreeRTOS). Добавляете необходимое по мере надобности. Также само ставите FREERTOS и отключаете все не нужное.
|
|
|
|
|
Sep 8 2010, 13:34
|
Частый гость
 
Группа: Участник
Сообщений: 169
Регистрация: 31-08-05
Из: New York
Пользователь №: 8 118

|
Я ставил и работал на AVR и недели 2 назад поставил на STM32F101. Переделал скрипт линкера и инициализацию. Если у Вас "103" то все должно из примера сработать без проблем. Мне нравится. Знакомиться с ней приходится по примерам и описаниям функций, которые приведены на их сайте. В принципе, этого достаточно.
--------------------
ASB
|
|
|
|
|
Sep 8 2010, 14:17
|

Гуру
     
Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515

|
To MALLOY Цитата Имена API кривые но это тоже поправимо. Как и ненужный функционал для человека, который спрашивает совета по ОС. Ибо человек, который в состоянии этот функционал использовать совета про ОС не спрашивает. Это раз. Два. Взаимодействие между процессами и доступу к ресурсам осуществляется РОВНО ОДНОЙ АССЕМБЛЕРНОЙ АТОМАРНОЙ операцией SWAP @R1, R2 (запись команды условная - смысл ее понятен из написания). Все. Чего тут городить? Определил ячейку памяти какую-нибудь и разделяй ей ресурсы как хочешь. Микропроцессор, конечно же, лучше свой. Ибо ЗАТОЧЕННОЕ под задачу ВСЕГДА (закон сохранения Ломоносова-Лавуазье) ЛУЧШЕ. Но - дороже. СВОЯ же ОС, по сравнению с чужой - НЕ ДОРОЖЕ. А ДЕШЕВЛЕ. К слову, вот мой переключатель задач состоит из ровно 40 сишных строк (операторов, конечно, больше). Все. (Не считая ассемблерной вставки сохранения-восстановления регистров). Меньше строк, меньше багов.
--------------------
On the road again (Canned Heat)
|
|
|
|
|
Sep 8 2010, 15:54
|
Знающий
   
Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317

|
Цитата Два. Взаимодействие между процессами и доступу к ресурсам осуществляется РОВНО ОДНОЙ АССЕМБЛЕРНОЙ АТОМАРНОЙ операцией SWAP @R1, R2 А как же периферия ? Прерывания ? Просто одно дело лампочками мигать а другое дело когда работает TCP стек или USB. Цитата Но - дороже. СВОЯ же ОС, по сравнению с чужой - НЕ ДОРОЖЕ. А ДЕШЕВЛЕ. Ы... обоснуйте И в конце концов чтобы написать свою ОС, нужно немало потратить времени, или иметь большой опыт работы с другими разными ОС что бы сократить время на написание своей, а если при этом изучение другой ОС вызывает затруднение то тут лучше еще набраться опыта прежде чем писать свою ОС. Да и тестирование ОС занимает много времени, так что как не крути свое будет по нынешним временам гораздо дороже. В любом случае дешевле напильником подогнать что-то готовое чем городить что то свое. Собственно большинство так и делает. Ссылка на плагин регистрируетесь и качаете, дальше в мануале написано как устанавливать
|
|
|
|
|
Sep 8 2010, 16:10
|

Twilight Zone
  
Группа: Свой
Сообщений: 454
Регистрация: 17-02-09
Из: Челябинск
Пользователь №: 44 990

|
Цитата(DpInRock @ Sep 8 2010, 17:17)  Ибо человек, который в состоянии этот функционал использовать совета про ОС не спрашивает. Это раз. А зачем собственно форум то нужен, если все можно самому сделать. и "винда" наверное тогда не нужна и все остальное.... Цитата(MALLOY2 @ Sep 8 2010, 18:54)  регистрируетесь и качаете, дальше в мануале написано как устанавливать MALLOY спасибо Вам!!!
Сообщение отредактировал Danis - Sep 8 2010, 16:47
--------------------
Magic Friend
|
|
|
|
|
Sep 8 2010, 18:08
|

Гуру
     
Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515

|
Цитата А как же периферия ? Если умеешь разделять ресурсы - все остальное - вообще никаких проблем. У меня нет TCP, но есть USB (CDC и mass storage). Заодно запись воспроизведение звука, touchscreen, куча всякой разной памяти, клавиатура, манипулятор Морзе, радиоканал с кучей выводов, RS232. Все работает параллельно и ОДНОВРЕМЕННО. Именно все это. Всегда идет запись и воспроизведение звука, отдается в USB и RS232, заодно параллельно записывается на SD card (типа крутейший лог для радиостанции). Использую пять прерываний. 8 кГц от таймера для звука, 3.9 мс от RTC для переключателя задач, и одно для работы с Rotary Encoder (волкодер вроде как по нашему), UART, USB. Никаких затруднений в компоновке процедур и ресурсов не испытываю. Пишу прямо. Без затей. Единственное правило - если задаче нечего делать - она должна отдавать управление. Иначе тормоза (72 Мгц проц). А графика насыщенная - сглаживание не только шрифтов но и картинок всяких. Я пробовал думать как применить FreeRTOS не трогая ничего. И не придумал. А этот вариант (свой) легко перенес с атмеловского ARM9 на филипс ARM7. Причем поменял только одну команду. Джампа с сохранением LR в ARM7 не оказалось. И все. Да, регистры у меня сохраняются не так оптимально, как могли бы. Сишную часть наверняка можно подсократить (не умею я на Си программировать). Но тем не менее написание этого заняло у малоподготовленного меня не больше 3 дней. Это реальная цифра. Из меня программист очень плохой (Именно поэтому разобраться с текстом FreeRTOS для меня оказалось трудной задачей - никак учебника по Сям не сыщу бумажного, а монитор у меня 15 дюймовый).
--------------------
On the road again (Canned Heat)
|
|
|
|
|
Sep 9 2010, 09:00
|
Знающий
   
Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317

|
Цитата не умею я на Си программировать С этого надо было начинать, но начинать никогда не поздно. Цитата Джампа с сохранением LR в ARM7 не оказалось. для этого в ARM7 есть 2 инструкции это BL и BLX. По ходу вам еще и ассемблер повторить надо.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|