реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> FreeRTOS + STM32, Посоветуйте в выборе RTOS
Danis
сообщение Sep 8 2010, 11:12
Сообщение #1


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
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Sep 8 2010, 12:55
Сообщение #2


Гуру
******

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



Лучшая OS - самодельная.
Делаете переключатель задач (Или выдираете его хоть из той же FreeRTOS). Добавляете необходимое по мере надобности.
Добавлю от себя - в 95% случаях добавлять к переключателю задач ничего не нужно.
(Естетственно, способность задачи отдавать управление следущей по списку - обязательна).

Сообщение отредактировал DpInRock - Sep 8 2010, 13:28


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
MALLOY2
сообщение Sep 8 2010, 13:29
Сообщение #3


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



У меня несколько проектов на STM32 c FREERTOS, с IAR нет никаких проблем даже плагин есть что бы можно было отлаживать в дебагере IAR. ОС проверенная временем, у нее конечно не очень большой функционал, но его вполне достаточно. Имена API кривые но это тоже поправимо. На сайте есть вся инфа с примерами. Еще плюс что ее довольно легко отлаживать так как для этого заложено много всяких фич.

Цитата
Лучшая OS - самодельная.

Лучший микроконтроллер самодельный!!!! почему вы его не засовываете а какой нибудь самодельный ASIC ? походу надо еще и самодельный компилятор сделать чтобы было все пучком.

Цитата
Добавлю от себя - в 95% случаях добавлять к переключателю задач ничего не нужно.


Ну да, а синхронизация между задачами ? а разруливание доступа к ресурсам ?

Цитата
Делаете переключатель задач (Или выдираете его хоть из той же FreeRTOS). Добавляете необходимое по мере надобности.


Также само ставите FREERTOS и отключаете все не нужное.
Go to the top of the page
 
+Quote Post
Aleksandr Barano...
сообщение Sep 8 2010, 13:34
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 169
Регистрация: 31-08-05
Из: New York
Пользователь №: 8 118



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


--------------------
ASB
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Sep 8 2010, 13:42
Сообщение #5


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



По-моему, STM-щики сами предлагают готовый порт FreeRTOS с дополнительными библиотеками. Если не они, то производители китов.
Коллега недавно разбирался, склонился в пользу STM относительно NXP именно по этой причине (ну и по другим тоже)

Или на FreeRTOS.org примеры под разные киты...
Вот под ИАР и как раз под F103


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Sep 8 2010, 14:17
Сообщение #6


Гуру
******

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



To MALLOY
Цитата
Имена API кривые но это тоже поправимо.
Как и ненужный функционал для человека, который спрашивает совета по ОС. Ибо человек, который в состоянии этот функционал использовать совета про ОС не спрашивает. Это раз.

Два. Взаимодействие между процессами и доступу к ресурсам осуществляется РОВНО ОДНОЙ АССЕМБЛЕРНОЙ АТОМАРНОЙ операцией SWAP @R1, R2 (запись команды условная - смысл ее понятен из написания). Все. Чего тут городить? Определил ячейку памяти какую-нибудь и разделяй ей ресурсы как хочешь.

Микропроцессор, конечно же, лучше свой. Ибо ЗАТОЧЕННОЕ под задачу ВСЕГДА (закон сохранения Ломоносова-Лавуазье) ЛУЧШЕ. Но - дороже. СВОЯ же ОС, по сравнению с чужой - НЕ ДОРОЖЕ. А ДЕШЕВЛЕ.

К слову, вот мой переключатель задач состоит из ровно 40 сишных строк (операторов, конечно, больше). Все.
(Не считая ассемблерной вставки сохранения-восстановления регистров).

Меньше строк, меньше багов.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
ViKo
сообщение Sep 8 2010, 15:03
Сообщение #7


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



А можете высказаться по поводу других OS. scmRTOS? ...
Что взять, как наиболее простое? Может быть, именно, как пример для создания своей.
Сам думаю о FreeRTOS, потому как часто звучит. Но пока конкретно не приступал.
Go to the top of the page
 
+Quote Post
Danis
сообщение Sep 8 2010, 15:53
Сообщение #8


Twilight Zone
***

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



Цитата(MALLOY2 @ Sep 8 2010, 16:29) *
У меня несколько проектов на STM32 c FREERTOS, с IAR нет никаких проблем даже плагин есть что бы можно было отлаживать в дебагере IAR.


Интересно, можно ссылочку на плагин, попробую поставлю. Спасибо!


--------------------
Magic Friend
Go to the top of the page
 
+Quote Post
MALLOY2
сообщение Sep 8 2010, 15:54
Сообщение #9


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Цитата
Два. Взаимодействие между процессами и доступу к ресурсам осуществляется РОВНО ОДНОЙ АССЕМБЛЕРНОЙ АТОМАРНОЙ операцией SWAP @R1, R2

А как же периферия ? Прерывания ? Просто одно дело лампочками мигать а другое дело когда работает TCP стек или USB.


Цитата
Но - дороже. СВОЯ же ОС, по сравнению с чужой - НЕ ДОРОЖЕ. А ДЕШЕВЛЕ.


Ы... обоснуйте

И в конце концов чтобы написать свою ОС, нужно немало потратить времени, или иметь большой опыт работы с другими разными ОС что бы сократить время на написание своей, а если при этом изучение другой ОС вызывает затруднение то тут лучше еще набраться опыта прежде чем писать свою ОС. Да и тестирование ОС занимает много времени, так что как не крути свое будет по нынешним временам гораздо дороже. В любом случае дешевле напильником подогнать что-то готовое чем городить что то свое. Собственно большинство так и делает.

Ссылка на плагин регистрируетесь и качаете, дальше в мануале написано как устанавливать
Go to the top of the page
 
+Quote Post
Danis
сообщение Sep 8 2010, 16:10
Сообщение #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
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Sep 8 2010, 18:08
Сообщение #11


Гуру
******

Группа: Участник
Сообщений: 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)
Go to the top of the page
 
+Quote Post
MALLOY2
сообщение Sep 9 2010, 09:00
Сообщение #12


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Цитата
не умею я на Си программировать


С этого надо было начинать, но начинать никогда не поздно.

Цитата
Джампа с сохранением LR в ARM7 не оказалось.


для этого в ARM7 есть 2 инструкции это BL и BLX. По ходу вам еще и ассемблер повторить надо.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 13:20
Рейтинг@Mail.ru


Страница сгенерированна за 0.01461 секунд с 7
ELECTRONIX ©2004-2016