Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
25.09.2009, 17:55
|
|
Гражданин KAZUS.RU
Регистрация: 08.07.2006
Сообщений: 583
Сказал спасибо: 76
Сказали Спасибо 90 раз(а) в 66 сообщении(ях)
|
AVR RTOS
Решил написать свою простенькую, небольшую (на сколько это возможно)
RTOS. Читал "Multitasking on an AVR"( http://www.avrfreaks.net/modules/Fre...20an%20AVR.pdf)... Агоритм вроде бы понял...
Но все же есть проблемы, к примеру, организация хранения адресов стеков разных задач... переключение между задачами...
Вопрос следующий. Нет ли у кого толкового мануала для написания ртос на си под авр? А если б на русском, так вобще цены нет.
И вобще хотелось бы услышать кто с этой вещью сталкивался, ваши мнения - предложения
__________________
Sex, Druggs, Rock&Roll
Последний раз редактировалось alberio; 25.09.2009 в 18:03.
|
|
|
|
25.09.2009, 18:31
|
|
Гражданин KAZUS.RU
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
|
Re: AVR RTOS
Вот операционка от cvavr, может чем то поможет...
|
|
|
|
25.09.2009, 18:54
|
|
Прописка
Регистрация: 01.08.2009
Сообщений: 142
Сказал спасибо: 6
Сказали Спасибо 38 раз(а) в 14 сообщении(ях)
|
Re: AVR RTOS
На данный момент RTOS не использую. Просмотрел "Multitasking on an AVR" по вашей ссылке, и как я понял, так предложено хранить контекст задачи в стеке. На мой взгляд хранить контекст задачи лучше в таблице, как это делается в системах на основе процессора семейства x86, только сохранять и восстанавливать контекст придется программно, ведь у AVR нет поддержки многозадачности.
Активировать механизм переключения задач можно по таймеру (переключение на следующюю задачу) и при возникновении прерывания, не связанного с этим таймером (в этом случае необходимо переключиться на обработчик прерывания). Только еще надо писать задачи так, чтобы они не могли ни при каких условиях залезть в область памяти с данными другой задачи, ведь опять-таки у AVR нет механизма защиты памяти.
|
|
|
|
25.09.2009, 19:58
|
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
|
Re: AVR RTOS
|
|
|
|
25.09.2009, 22:41
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: AVR RTOS
На чистом С можно только кооперативную ОС написать. А она не требует отдельных стеков под каждую задачу. А вытесняющая многозадачность это уже ассемблерные процедуры. А так - классический вечный цикл с проверкой флагов практически и есть кооперативная ОС, даже можно извратится и приоритеты задачам назначать.
Писать же самостоятельно ОС с вытесняющей многозадачностью ИМХО нет смысла - пока до функционала FreeRtos дойдешь желание иметь свою ОС скорее всего пропадет.
|
|
|
|
26.09.2009, 20:00
|
|
Временная регистрация
Регистрация: 15.08.2006
Сообщений: 54
Сказал спасибо: 3
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: AVR RTOS
Использовал scmRTOS. Этот вариант выбрал потому, что у нее русские разработчики и документация, соответственно, на руском. Даже нашел в системе один баг . Эта ось написана на С++ исключая критические секции кода, которые написаны на асме. Имеет порты под несеолько платформ. На этой системе разобрался в принципах работы ОС.
|
|
|
|
15.10.2009, 23:40
|
|
Частый гость
Регистрация: 16.03.2007
Сообщений: 13
Сказал спасибо: 1
Сказали Спасибо 10 раз(а) в 2 сообщении(ях)
|
Re: AVR RTOS
Сообщение от Gn0me
|
Использовал scmRTOS. Этот вариант выбрал потому, что у нее русские разработчики и документация, соответственно, на руском. Даже нашел в системе один баг. Эта ось написана на С++ исключая критические секции кода, которые написаны на асме. Имеет порты под несеолько платформ. На этой системе разобрался в принципах работы ОС.
|
+1
некоторые пояснения
|
|
|
Сказали "Спасибо" stas633
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Flowcode для AVR
|
vik3213 |
Микроконтроллеры, АЦП, память и т.д |
13 |
17.07.2010 20:42 |
переносной ISP загрузчик для AVR
|
Ugauga |
Микроконтроллеры, АЦП, память и т.д |
8 |
07.11.2009 20:47 |
AVR studio и GCC
|
Nifelheim |
Микроконтроллеры, АЦП, память и т.д |
12 |
26.09.2009 23:33 |
Программатор AVR ATAVRISPMK2
|
saa_tv |
Микроконтроллеры, АЦП, память и т.д |
1 |
24.09.2009 21:43 |
PIC18+ после AVR. СтОит ли?
|
alexgap |
Микроконтроллеры, АЦП, память и т.д |
36 |
17.09.2009 16:59 |
Часовой пояс GMT +4, время: 11:59.
|
|