|
|
  |
вопрос, можно ли считать FREERTOS встраиваемой системой |
|
|
|
Nov 30 2015, 08:50
|
Знающий
   
Группа: Участник
Сообщений: 679
Регистрация: 9-08-06
Пользователь №: 19 422

|
Цитата(Непомнящий Евгений @ Nov 30 2015, 11:29)  очень сомнительно. Для авр-ок есть более другие оси. А обычно обходятся for с проверкой флагов + прерываниями странно в описании Freertos написано что для avr и требования ресурсов по памяти вроде как удовлетворяються А какие тогда можно на avr подобной atmega168PA использовать?
|
|
|
|
|
Nov 30 2015, 09:00
|
Знающий
   
Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153

|
Цитата(addi @ Nov 30 2015, 11:50)  странно в описании Freertos написано что для avr и требования ресурсов по памяти вроде как удовлетворяються А какие тогда можно на avr подобной atmega168PA использовать? атмега168 имеет 16К флеша и 1К озу. Вполне возможно, что фриртос и взлетит. Вот только что останется для прикладного кода? Вы ж понимаете, что для ОС необходимо хранить стеки для каждого потока, плюс всякую служебную информацию. Думаете это все влезет в 1К? А по теме - зачем тут вообще ОС? Цикл с проверкой флагов в main + прерывания, в которых нужные флаги и выставляются...
|
|
|
|
|
Nov 30 2015, 09:43
|
Знающий
   
Группа: Участник
Сообщений: 679
Регистрация: 9-08-06
Пользователь №: 19 422

|
Цитата(Непомнящий Евгений @ Nov 30 2015, 12:00)  атмега168 имеет 16К флеша и 1К озу. Вполне возможно, что фриртос и взлетит. Вот только что останется для прикладного кода?
Вы ж понимаете, что для ОС необходимо хранить стеки для каждого потока, плюс всякую служебную информацию. Думаете это все влезет в 1К?
А по теме - зачем тут вообще ОС? Цикл с проверкой флагов в main + прерывания, в которых нужные флаги и выставляются... Да, код там не более 1 кбайта, включить выключить по мониторе пары сигналов Я так и не понял а сколько нужно оперативки для этой ОС?
|
|
|
|
|
Nov 30 2015, 09:58
|
Знающий
   
Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153

|
Цитата(addi @ Nov 30 2015, 12:43)  Да, код там не более 1 кбайта, включить выключить по мониторе пары сигналов Я так и не понял а сколько нужно оперативки для этой ОС? Вы хотите поразвлечься или у вас реальная задача? Если второе - то зачем тут ОС? Если первое - то как сделаете - напишите о результатах, интересно  А насчет расхода памяти - все индивидуально. На задачу - порядка 26 байт. Плюс служебные данные, которые зависят от числа приоритетов (где-то 8*(3 + число_приоритетов) ). Плюс другие служебные данные. Ну и плюс для каждой задачи нужен стек (а для ИАРа - два стека). Переключения стека при входе в прерывание в авр нет. Соответственно стек каждой задачи должен быть с запасом - на стеки прерываний. Ну или какой-то кастомный обработчик прерывания, который переключает стеки. В качестве кучи можно взять heap_1, которая фактически стек (только выделяет память, без освобождения). Накладные расходы там минимальны.
|
|
|
|
|
Nov 30 2015, 11:38
|
Знающий
   
Группа: Участник
Сообщений: 679
Регистрация: 9-08-06
Пользователь №: 19 422

|
Цитата(Непомнящий Евгений @ Nov 30 2015, 12:58)  Вы хотите поразвлечься или у вас реальная задача? Если второе - то зачем тут ОС? Если первое - то как сделаете - напишите о результатах, интересно  А насчет расхода памяти - все индивидуально. На задачу - порядка 26 байт. Плюс служебные данные, которые зависят от числа приоритетов (где-то 8*(3 + число_приоритетов) ). Плюс другие служебные данные. Ну и плюс для каждой задачи нужен стек (а для ИАРа - два стека). Переключения стека при входе в прерывание в авр нет. Соответственно стек каждой задачи должен быть с запасом - на стеки прерываний. Ну или какой-то кастомный обработчик прерывания, который переключает стеки. В качестве кучи можно взять heap_1, которая фактически стек (только выделяет память, без освобождения). Накладные расходы там минимальны. задача исследовательского характера, надоело писать громоздкий код под задачи обработки(не цифровой) сигналов и вообще интересно чего дает ОС на МК, а плата свободная щас на atmega168pa
|
|
|
|
|
Nov 30 2015, 11:49
|
Знающий
   
Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153

|
Цитата(addi @ Nov 30 2015, 14:38)  задача исследовательского характера, надоело писать громоздкий код под задачи обработки(не цифровой) сигналов и вообще интересно чего дает ОС на МК, а плата свободная щас на atmega168pa Мне кажется на простых задачах ОС будет более громоздка, чем рукопашный код. Опять же для ваших типичных задач можно написать свой собственный типовой код и использовать его (к примеру что-то подобное сделала ардуина) Ну и ваш МК как-то все таки мелковат для ОСи, не развернешься  Из авр-овских вытесняющих осей на слуху еще scmRtos, она по идее меньше памяти кушает - все задачи создаются статически, и ее авторы тут бывают.
|
|
|
|
|
Nov 30 2015, 11:51
|
Знающий
   
Группа: Участник
Сообщений: 679
Регистрация: 9-08-06
Пользователь №: 19 422

|
Цитата(Непомнящий Евгений @ Nov 30 2015, 14:49)  Мне кажется на простых задачах ОС будет более громоздка, чем рукопашный код. Опять же для ваших типичных задач можно написать свой собственный типовой код и использовать его (к примеру что-то подобное сделала ардуина) Ну и ваш МК как-то все таки мелковат для ОСи, не развернешься  Из авр-овских вытесняющих осей на слуху еще scmRtos, она по идее меньше памяти кушает - все задачи создаются статически, и ее авторы тут бывают. спасибо, попробую, отпишусь
|
|
|
|
|
Jan 11 2016, 06:32
|
Знающий
   
Группа: Участник
Сообщений: 679
Регистрация: 9-08-06
Пользователь №: 19 422

|
Цитата(addi @ Nov 30 2015, 14:51)  спасибо, попробую, отпишусь Здравствуйте! Попробовал на примере из нета запустить ось на atmega168pa, сделал один в один но таски не запускаются, проект прилагаю, подскажите пожалуйста, кто знает, в чем может быть проблема Спасибо!
Прикрепленные файлы
proba.rar ( 175.58 килобайт )
Кол-во скачиваний: 21
|
|
|
|
|
Feb 18 2016, 18:40
|
Местный
  
Группа: Свой
Сообщений: 209
Регистрация: 6-01-12
Пользователь №: 69 197

|
Цитата(addi @ Nov 30 2015, 11:51)  ага, понял спасибо, значит можно, а не подскажите atmega168PA потянет ее?? FreeRTOS работает на меге в лёгкую вопрос в расходе оперативной памяти. Ставьте и проверяйте переполнение стеков.
--------------------
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|