|
Free OS for AVR, search |
|
|
|
Oct 5 2007, 13:37
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672

|
Цитата(_Pasha @ Oct 5 2007, 09:29)  Каждый тред сам решает, когда переключиться на следующую задачу. Это принцип работы кооперативного планировщика.
Сообщение отредактировал pitt - Oct 5 2007, 13:58
--------------------
|
|
|
|
|
Oct 6 2007, 04:39
|

Странник
   
Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051

|
Цитата(WEST128 @ Oct 6 2007, 01:08)  Могу рекомендовать FreeRTOS, неплохо написана и есть порты на AVR И сколько займет переключение между задачами в ней? И сколько она памяти перерасходует? PS: вот уж никогда не думал что freertos непрохо написана.Имхо: самая что ни на есть посредственная реализация, но маркетинг делает свое дело.
--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
|
|
|
|
|
Oct 6 2007, 13:37
|
Частый гость
 
Группа: Участник
Сообщений: 160
Регистрация: 5-04-06
Из: Москва
Пользователь №: 15 847

|
Цитата(spf @ Oct 5 2007, 17:57)  scmRTOS смотрел? ссылки на нее наплодили в форуме уже во всех разделах. А ссылка какая ? http://scmrtos.narod.ru/ - вот эта нерабочая, говорит "нет такой страницы"
|
|
|
|
|
Oct 6 2007, 17:48
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Цитата(algidim @ Oct 6 2007, 15:50)  Спасибо. А на русском языке ничего нет, просто та была явно на русский сайт. pdf-ка на страничке http://scmrtos.sourceforge.net/doc/index.html на самом деле на русском  Это описание на v2, но отличия v3 от v2 не катастрофические для понимания. p.s. Сейчас проверяю порт scmRTOS v3 для avr-gcc - ещё немного, причешу примеры и оно будет доступно. Там возникли некоторые проблемы, связанные с более нахальной в avr-gcc 4.x (WinAVR-20070525 и сборки от Klen, www.klen.org ) по сравнению с avr-gcc 3.4.6 (WinAVR-20060421) уоптимизацией вусмерть не отмеченного как volatile ( см. в том числе http://forum.sources.ru/index.php?showtopic=201904&st=0 ) поэтому я внимательно всё просматриваю.
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Oct 6 2007, 20:09
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(KA_ru @ Oct 6 2007, 14:18)  Задачки у меня простые. Управлять мотором PWM(20кГц). Выдать/Принять(40кГц) IR команду. Таймер с индикатором, точность 1 мс с внешней синхронизацией Start/Stop Включатель/Выключатель с внешней синхронизацией. Модуль измерения и создания задержек. Всё это может запущено сразу или в любой последовательности. Ну вот, брат объявился. Делал я это все на асме, так как слишком много Time-critical частей. На 16 МГц кварце. Поскольку управлять мотором иногда надо весьма аккуратно, то никаких псевдопараллельных приемов не использовал - слишком большая зависимость от RAM снижает надежность ЧЕСТНЫЙ СОВЕТ - ЧЕМ ДУБОВЕЕ И ПРОЩЕ - ТЕМ НАДЕЖНЕЕ Кодом делиться не буду, потому что это меня кормит.  Добавлю только - все, что касается вычислений и выборок PWM, внутренних тиков - вешается на одно большое прерывание от PWM. Может быть, даже придется внутри этого ISR разрешать прерывания.
Сообщение отредактировал _Pasha - Oct 6 2007, 20:18
|
|
|
|
|
Oct 6 2007, 22:08
|

Местный
  
Группа: Свой
Сообщений: 468
Регистрация: 13-10-06
Из: Россия, Томск
Пользователь №: 21 291

|
Лично я бы вашу задачу решал без применения ОС, она здесь не так уж и нужна, судя по количеству задач. А все сразу нельзя запустить, у вас же не многоядерный проц. Рекомендую начать определения допустимых временных отклонений для разных подзадач и времени, сколько займет их выполнение. Исходя из этого можно определить, решается ли задача теоретически (на вашем контроллере), а уже потом - с учетом накладок ОС. Не исключен случай, что вам прийдется для какой-то подзадачи выделить отдельный контроллер. Точно сказать не могу, т.к. не знаю всех деталей, но скорее всего это не про вас.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|