|
|
  |
RTOS OSA, кооперативная ОС для AVR/PIC/STM8 |
|
|
|
Mar 10 2010, 19:09
|

Участник

Группа: Участник
Сообщений: 54
Регистрация: 7-08-08
Из: SPb
Пользователь №: 39 471

|
Доброго времени суток! OSA портирована на AVR. OSA - кооперативная ОСРВ для микроконтроллеров PIC и AVR. Распространяется бесплатно с исходными текстами. Может оказаться полезной при написании программ для малоресурсных контроллеров, где вытесняющим ОСРВ будет тесно. ИсходникиДокументация Учебник С уважением, Виктор Тимофеев. P.S. Исходники OSA можно взять также здесь: http://picosa.narod.ru (Opera 10 не открывает pic24.ru)
|
|
|
|
|
Mar 12 2010, 02:21
|

Участник

Группа: Участник
Сообщений: 54
Регистрация: 7-08-08
Из: SPb
Пользователь №: 39 471

|
Версия 100312 - доработан внутренныий код для атомарного доступа к битовым системным переменным. Порт под AVR будет потихоньку оптимизироваться (он пока слишком медленный), и будут исправляться обнаруженные баги. Так что следите за обновлениями.
|
|
|
|
|
Mar 13 2010, 14:07
|
Группа: Участник
Сообщений: 4
Регистрация: 10-02-09
Пользователь №: 44 639

|
Запустил урок 2 из хелпа Если в опциях компилятора включена оптимизация, то локальные переменные cTemp1 и cTemp2 удаляются, если отключена - вылетают предупреждения при симуляции и симуляция идет с ошибками проект в архиве Цитата Loaded plugin STK500 Loaded plugin AVR GCC Loaded partfile: C:\Program Files\Atmel\AVR Tools\PartDescriptionFiles\ATmega16.xml gcc plug-in: Output directory D:\work\AVR\os_pr2\default\ does not exist gcc plug-in: Created directory D:\work\AVR\os_pr2\default\ AVR Simulator: Please wait while configuring simulator... AVR Simulator: ATmega16 Configured OK Loaded objectfile: D:\work\AVR\os_pr2\default\os_pr2.elf Loaded objectfile: D:\work\AVR\os_pr2\default\os_pr2.elf Loaded objectfile: D:\work\AVR\os_pr2\default\os_pr2.elf AVR Simulator: Invalid opcode 0xffff at address 0x005b04 Loaded objectfile: D:\work\AVR\os_pr2\default\os_pr2.elf сам вылет проходит здесь (дизассемблер), далее програмный счетчик обнуляется Код @0000011C: SCHED_END ---- d:\work\AVR\os_pr2\default/d:\work\AVR\os_pr2\..\..\osa/port\osa_winavr.c -------------------- 36: File not found +0000011C: 93DF PUSH R29 Push register on stack +0000011D: 93CF PUSH R28 Push register on stack +0000011E: B7CD IN R28,0x3D In from I/O location +0000011F: B7DE IN R29,0x3E In from I/O location
*********
40: File not found +00000135: 91CF POP R28 Pop register from stack +00000136: 91DF POP R29 Pop register from stack +00000137: 9508 RET Subroutine return <-------------- здесь @00000138: OS_SchedRetPoint 69: File not found даже после объявления локальных переменных как static ошибка продолжается
Сообщение отредактировал VasylYE - Mar 13 2010, 14:06
Прикрепленные файлы
os_pr2.rar ( 22.98 килобайт )
Кол-во скачиваний: 22
|
|
|
|
|
Mar 13 2010, 18:04
|

Участник

Группа: Участник
Сообщений: 54
Регистрация: 7-08-08
Из: SPb
Пользователь №: 39 471

|
Цитата(VasylYE @ Mar 13 2010, 17:07)  Запустил урок 2 из хелпа
Если в опциях компилятора включена оптимизация, то локальные переменные cTemp1 и cTemp2 удаляются, если отключена - вылетают предупреждения при симуляции и симуляция идет с ошибками проект в архиве WinAVR эти переменные, действительно, соптимизирует, т.к. с его точки зрения они не используются. Версию OSA для отключенной оптимизациии готовлю сейчас (в WinAVR'e нашел неприятный баг, и при включенной оптимизации работать в будущем будет, к сожалению, нельзя). Для проверки работы урока 2 объявите локальные переменные в задачах с квалификатором volatile, тогда он их не будет оптимизировать.
|
|
|
|
|
Mar 16 2010, 00:05
|

Участник

Группа: Участник
Сообщений: 54
Регистрация: 7-08-08
Из: SPb
Пользователь №: 39 471

|
Цитата(testerplus @ Mar 13 2010, 21:04)  (в WinAVR'e нашел неприятный баг, и при включенной оптимизации работать в будущем будет, к сожалению, нельзя). Подготовил описание ошибки компилятора WinAVR, из-за которой при использовании кооперативной ОС нужно отключать оптимизацию. Рекомендую обновить OSA (версия 100314).
|
|
|
|
|
Sep 24 2010, 13:59
|

Участник

Группа: Участник
Сообщений: 54
Регистрация: 7-08-08
Из: SPb
Пользователь №: 39 471

|
OSA портирована на STM8 (ограничение: ROM <= 64K) для компилятора Cosmic. Исходники версии 101000. В учебник добавлен Урок 5, посвященный расширенному приоритетному режиму.
|
|
|
|
|
Oct 7 2010, 10:43
|

Участник

Группа: Участник
Сообщений: 54
Регистрация: 7-08-08
Из: SPb
Пользователь №: 39 471

|
101007: Добавлена поддержка IAR и Raisonance для STM8 Ограничение: ROM <= 64K
|
|
|
|
|
Dec 8 2010, 10:54
|
Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 26-09-05
Пользователь №: 8 955

|
Руки дошли почитать статью... Не считайте придиркой, но все же не стоит создавать кашу в мозгах читателя: 1) Термин "реальное время" и производные от него по большому счету нормально применимы к конечным системам, а не к средствам из которых их делают (в том числе ОС). Вообще нормальное определение реального времени: "система (! не операционная система, а конечный продукт, в котором может использоваться ОСРВ, а может вообще быть суперлуп и даже... вообще не быть процессора и электроники) является системой реального времени, если времена реакций на события всегда меньше либо равны заданным". Далее если мягкость/жесткость вводить - то данное определение подходит для "жестких" систем, а для "мягких" надо вставить в конце "...в большинстве случаев". 2) Тип планирования (вытесняющее/кооператив) в общем-то ОТНОШЕНИЯ К ЖЕСТКОМУ/МЯГКОМУ реальному времени не имеет. По большому счету если вводить критерий "жесткости" применительно к ОС, то тогда с этой позиции - ОС является "жесткой" ОСРВ если задержки привносимые ОС всегда известны - т.е. можно использовать как инструмент для "жесткой" системы РВ, аналогично "мягкой" ОСРВ - если известно, что в большинстве случаев привносимые ОС задержки не превышают некоторых известных значений. А то, как воспользуется дисциплиной планирования программист - его дело и ответственность - я отлично делал на суперлупе и кооперативе системы "жесткого" реального времени. Какая бы крутейшая ОСРВ не использовалась, всегда можно реализовать программу, так что свойства реального времени в системе не будут обеспечены.
|
|
|
|
|
Dec 8 2010, 12:19
|

Участник

Группа: Участник
Сообщений: 54
Регистрация: 7-08-08
Из: SPb
Пользователь №: 39 471

|
Цитата(slabnoff @ Dec 8 2010, 14:54)  Руки дошли почитать статью... Не считайте придиркой, но все же не стоит создавать кашу в мозгах читателя: Все правильно, Вы не первый мне это говорите. Просто нет времени на переработку материала. Цитата(YAM) "Пердустановленные константы" - это круто.... sm.gif Спасибо, исправляю...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|