|
RTOS OSA, кооперативная ОС для AVR/PIC/STM8 |
|
|
|
Feb 22 2009, 16:11
|

Участник

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

|
В свободное время написал небольшую статью по использованию ОСРВ OSA: http://wiki.pic24.ru/doku.php/osa/articles/rtos_usageкопия здесь: http://picosa.narod.ru/Manual/htm/rtos_usage.htmlВ этой статье: - приведены предпосылки к использованию RTOS в своих проектах. - даны общие рекомендации по RTOS; - описаны часто совершаемые ошибки; - даны ответы на часто задаваемые вопросы по OSA; - приведены советы по оптимизации при использовании OSA. Надеюсь, кому-то статья окажется полезной. С уважением, Виктор.
|
|
|
|
|
 |
Ответов
|
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).
|
|
|
|
Сообщений в этой теме
testerplus RTOS OSA Feb 22 2009, 16:11 sergeeff ЦитатаВо-вторых, ОСРВ обеспечивает параллельность ... Feb 22 2009, 21:08 testerplus Цитата(sergeeff @ Feb 23 2009, 00:08) Это... Feb 22 2009, 21:55  sergeeff Вам дорогой, вам. Вы же про это написали. Feb 23 2009, 00:18 PIC_Embedder Цитата(sergeeff @ Feb 23 2009, 00:08) Это... Feb 23 2009, 18:50  sergeeff Цитата(PIC_Embedder @ Feb 23 2009, 22:50)... Feb 23 2009, 19:36   testerplus Цитата(sergeeff @ Feb 23 2009, 22:36) Я к... Feb 23 2009, 20:25 sergeeff Чудесная дискуссия по принципу "сам дурак... Feb 24 2009, 09:29 Alex B._ Цитата(sergeeff @ Feb 24 2009, 12:29) Чуд... Feb 24 2009, 11:03 sergeeff Я все это начал только потому, что автор используе... Feb 24 2009, 13:26 Alex B._ Цитата(sergeeff @ Feb 24 2009, 16:26) При... Feb 24 2009, 14:13 testerplus Цитата(sergeeff @ Feb 24 2009, 16:26) Вы ... Feb 24 2009, 15:07 sergeeff Если автор позиционирует себя как писателя для ... Feb 24 2009, 16:18 DenisIV Цитата(sergeeff @ Feb 24 2009, 19:18) Есл... Apr 13 2009, 00:35 testerplus http://wiki.pic24.ru/doku.php/osa/tutorial/intro
... Jun 24 2009, 13:07 DL36 Спасибо!!!!! Jun 25 2009, 06:46 testerplus Доброго времени суток!
OSA портирована на AVR... Mar 10 2010, 19:09 DL36 Спасибо! Mar 11 2010, 06:42 HHIMERA Спасибо, Виктор!!! Mar 11 2010, 08:30 testerplus Версия 100312 - доработан внутренныий код для атом... Mar 12 2010, 02:21 oll спасибо - попробуем и на AVR Mar 11 2010, 04:39   testerplus Нашел вариант решения проблемы. Теперь на WinAVR+O... May 31 2010, 09:14 testerplus OSA портирована на STM8 (ограничение: ROM <= 64... Sep 24 2010, 13:59 testerplus 101007: Добавлена поддержка IAR и Raisonance для S... Oct 7 2010, 10:43 slabnoff Руки дошли почитать статью...
Не считайте придирко... Dec 8 2010, 10:54 testerplus Цитата(slabnoff @ Dec 8 2010, 14:54) Руки... Dec 8 2010, 12:19  slabnoff Цитата(testerplus @ Dec 8 2010, 15:19) Вс... Dec 8 2010, 12:38   testerplus Цитата(slabnoff @ Dec 8 2010, 16:38) Ну т... Dec 8 2010, 12:45    ua3rad Цитата(testerplus @ Dec 8 2010, 16:45) Да... Oct 30 2014, 10:59 YAM "Пердустановленные константы" - это крут... Dec 8 2010, 11:42
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|