реклама на сайте
подробности

 
 
> RTOS OSA, кооперативная ОС для AVR/PIC/STM8
testerplus
сообщение Feb 22 2009, 16:11
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 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.

Надеюсь, кому-то статья окажется полезной.
С уважением, Виктор.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
VasylYE
сообщение Mar 13 2010, 14:07
Сообщение #2





Группа: Участник
Сообщений: 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
 
Go to the top of the page
 
+Quote Post
testerplus
сообщение Mar 13 2010, 18:04
Сообщение #3


Участник
*

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



Цитата(VasylYE @ Mar 13 2010, 17:07) *
Запустил урок 2 из хелпа

Если в опциях компилятора включена оптимизация, то локальные переменные cTemp1 и cTemp2 удаляются, если отключена - вылетают предупреждения при симуляции и симуляция идет с ошибками
проект в архиве
WinAVR эти переменные, действительно, соптимизирует, т.к. с его точки зрения они не используются. Версию OSA для отключенной оптимизациии готовлю сейчас (в WinAVR'e нашел неприятный баг, и при включенной оптимизации работать в будущем будет, к сожалению, нельзя).

Для проверки работы урока 2 объявите локальные переменные в задачах с квалификатором volatile, тогда он их не будет оптимизировать.
Go to the top of the page
 
+Quote Post
testerplus
сообщение Mar 16 2010, 00:05
Сообщение #4


Участник
*

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



Цитата(testerplus @ Mar 13 2010, 21:04) *
(в WinAVR'e нашел неприятный баг, и при включенной оптимизации работать в будущем будет, к сожалению, нельзя).


Подготовил описание ошибки компилятора WinAVR, из-за которой при использовании кооперативной ОС нужно отключать оптимизацию. Рекомендую обновить OSA (версия 100314).
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 15:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.01426 секунд с 7
ELECTRONIX ©2004-2016