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

 
 
> scmRTOS. Вопросы и ответы.
alexander55
сообщение Oct 1 2007, 09:35
Сообщение #1


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Из-за того, что мои предложения повисли в воздухе, решил открыть тему здесь.
У меня вопросы по scmRTOS (извините, если они покажутся дилетанскими, я только начал мучить ОС). Раньше считал, что в uC OS лишняя заморочка, сейчас уже так не считаю.
Общие вопросы для общего развития. smile.gif
1. Зачем понадобилось иметь порядок приоритетов сверху вниз (насколько я понял из-за Blackfin только). a&-a немногим проигрывает.
2. Я хочу ограничиться
#if scmRTOS_CONTEXT_SWITCH_SCHEME == 0,
т.е. использовать всегда программное прерывание.
Правильно ли это ?
3. Про OS::TChannel сказано, что этот объект оставлен для совместимости с версией 1. Рекомендуется пользоваться OS::channel.
Мне же показалось, несмотря на универсальность OS::channel, применение его для байтовых каналов слишком расточительным. Я бы рассматривал бы как чистый FIFO буфер, как-то так
#define TFIFO OS::Channel
и изменил он нем представление как об атавизме. Или я чего-то не понял ?

Платформозависимые вопросы.
Я использую LPC2148 с IAR 5.10. Использовал порт Сергея Борщ с незначительными собственными доработками.
1. Интересует особенности использования векторных прерываний, кроме системного времени. На что следует обращать внимание.
2. Или их использовать нежелательно.
PS. Не считайте мои вопросы наездом, scmRTOS - замечательная вещь. a14.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
prottoss
сообщение Dec 8 2007, 18:06
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Вроде бы нашел косяк:
Я использую в проекте ATmega128, под него и компилил проект. После мучительных размышлений на 1,7 кБайтами кода smile.gif попробовал сменить МК на м64 - все заработало!!! Сразу возникла мысль про RAMPZ!
В файле OS_Target_asm.s90 есть макросы #if HAS_RAMPZ == 1 ... #endif - так вот, они почемуто не хотятЪ работать:-( Сделал в данном файле принудительно #define HAS_RAMPZ 1 - все заработало... Я в тонкостях компиляторов не сильно силен, как победить баг?


--------------------
Go to the top of the page
 
+Quote Post
dxp
сообщение Dec 8 2007, 20:12
Сообщение #3


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(prottoss @ Dec 9 2007, 00:06) *
В файле OS_Target_asm.s90 есть макросы #if HAS_RAMPZ == 1 ... #endif - так вот, они почемуто не хотятЪ работать:-( Сделал в данном файле принудительно #define HAS_RAMPZ 1 - все заработало... Я в тонкостях компиляторов не сильно силен, как победить баг?

Макрос HAS_RAMPZ генерируется компилятором из заданного процессора. Но это компилятором. А ассемблер, насколько помню, не поддерживает задание конкретного типа процессора, там все опции целевого процессора надо задавать через -v и -m опции. Соответственно, означенный макрос ассемблер не генерирует, поэтому его надо задавать руками. Удобно сделать это через опции проекта, а не править исходник. Если сборка идет из командной строки (makefile etc), то задать макрос через ключ командной строки -D, если из оболочки, что в опциях проекта, в разделе асма, во вкладке define указать макрос.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
prottoss
сообщение Dec 9 2007, 09:43
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(dxp @ Dec 9 2007, 03:12) *
Макрос HAS_RAMPZ генерируется компилятором из заданного процессора. Но это компилятором. А ассемблер, насколько помню, не поддерживает задание конкретного типа процессора, там все опции целевого процессора надо задавать через -v и -m опции. Соответственно, означенный макрос ассемблер не генерирует, поэтому его надо задавать руками. Удобно сделать это через опции проекта, а не править исходник. Если сборка идет из командной строки (makefile etc), то задать макрос через ключ командной строки -D, если из оболочки, что в опциях проекта, в разделе асма, во вкладке define указать макрос.
Да, наверное так и надо... НО, думаю тогда надо вписать данное предупреждение в начале S90-файла, типа /* ... Warning! bla-bla-bla ... */ smile.gif


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- alexander55   scmRTOS. Вопросы и ответы.   Oct 1 2007, 09:35
- - dxp   Цитата(alexander55 @ Oct 1 2007, 16:35) 1...   Oct 1 2007, 11:11
|- - alexander55   Цитата(dxp @ Oct 1 2007, 15:11) Вы сравни...   Oct 1 2007, 12:49
|- - dxp   Цитата(alexander55 @ Oct 1 2007, 19:49) П...   Oct 1 2007, 13:10
- - Сергей Борщ   Цитата(alexander55 @ Oct 1 2007, 12:35) И...   Oct 1 2007, 11:42
|- - alexander55   Цитата(Сергей Борщ @ Oct 1 2007, 15:42) В...   Oct 1 2007, 13:36
|- - Сергей Борщ   Цитата(alexander55 @ Oct 1 2007, 16:36) Х...   Oct 1 2007, 14:53
|- - alexander55   Цитата(Сергей Борщ @ Oct 1 2007, 18:53) Н...   Oct 2 2007, 04:43
|- - Сергей Борщ   Цитата(alexander55 @ Oct 2 2007, 07:43) P...   Oct 2 2007, 07:57
|- - alexander55   [quote name='Сергей Борщ' date='Oct 2 ...   Oct 2 2007, 09:19
|- - Сергей Борщ   Цитата(alexander55 @ Oct 2 2007, 12:19) С...   Oct 2 2007, 09:49
|- - alexander55   Вопрос. Как в scmRTOS организовать карусель скажем...   Oct 3 2007, 06:28
|- - dxp   Цитата(alexander55 @ Oct 3 2007, 13:28) В...   Oct 3 2007, 07:24
||- - alexander55   Цитата(dxp @ Oct 3 2007, 11:24) Никак. А ...   Oct 3 2007, 07:40
||- - alexander55   Цитата(alexander55 @ Oct 3 2007, 11:40) В...   Oct 3 2007, 09:46
||- - Сергей Борщ   Цитата(alexander55 @ Oct 3 2007, 12:46) Х...   Oct 3 2007, 10:38
||- - alexander55   Цитата(Сергей Борщ @ Oct 3 2007, 14:38) [...   Oct 3 2007, 11:01
||- - alexander55   Правильно ли я понимаю, что минимальный джентальм...   Oct 4 2007, 07:34
||- - Сергей Борщ   Цитата(alexander55 @ Oct 4 2007, 10:34) П...   Oct 4 2007, 10:00
||- - alexander55   Цитата(Сергей Борщ @ Oct 4 2007, 14:00) Н...   Oct 4 2007, 10:36
||- - dxp   Цитата(alexander55 @ Oct 4 2007, 17:36) И...   Oct 4 2007, 11:53
||- - alexander55   Спасибо всем за ответы. Предлагаю выкладывать в эт...   Oct 8 2007, 05:44
||- - dxp   Цитата(alexander55 @ Oct 8 2007, 12:44) С...   Oct 8 2007, 06:03
|||- - alexander55   Цитата(dxp @ Oct 8 2007, 10:03) КодOS_PRO...   Oct 8 2007, 07:46
||- - Сергей Борщ   Цитата(alexander55 @ Oct 8 2007, 08:44) К...   Oct 8 2007, 08:05
||- - alexander55   Цитата(Сергей Борщ @ Oct 8 2007, 12:05) О...   Oct 8 2007, 11:12
||- - Сергей Борщ   Цитата(alexander55 @ Oct 8 2007, 14:12) P...   Oct 8 2007, 11:27
||- - alexander55   Цитата(Сергей Борщ @ Oct 8 2007, 15:27) Н...   Oct 8 2007, 11:58
||- - Сергей Борщ   Цитата(alexander55 @ Oct 8 2007, 14:58) З...   Oct 8 2007, 13:27
||- - alexander55   Цитата(Сергей Борщ @ Oct 8 2007, 17:27) К...   Oct 9 2007, 04:41
||- - Сергей Борщ   Цитата(alexander55 @ Oct 9 2007, 07:41) c...   Oct 9 2007, 10:24
||- - dxp   Цитата(Сергей Борщ @ Oct 9 2007, 17:24) В...   Oct 9 2007, 12:47
||- - alexander55   Цитата(dxp @ Oct 9 2007, 16:47) Мущщины, ...   Oct 9 2007, 13:05
||- - Сергей Борщ   Цитата(alexander55 @ Oct 9 2007, 16:05) Я...   Oct 9 2007, 14:24
|||- - alexander55   Цитата(Сергей Борщ @ Oct 9 2007, 18:24) Н...   Oct 10 2007, 04:27
|||- - alexander55   Цитата(alexander55 @ Oct 10 2007, 08:27) ...   Oct 11 2007, 05:52
||- - dxp   Цитата(alexander55 @ Oct 9 2007, 20:05) В...   Oct 10 2007, 03:57
||- - ReAl   "UP" Цитата(dxp @ Oct 10 2007, ...   Nov 9 2007, 16:15
||- - alexander55   Цитата(ReAl @ Nov 9 2007, 19:15) А если з...   Nov 12 2007, 07:04
|- - spf   Цитата(alexander55 @ Oct 3 2007, 12:28) В...   Oct 3 2007, 07:28
- - prottoss   Привет всем! решил поиграться с scmRTOS. Скача...   Dec 8 2007, 14:37
|- - dxp   Цитата(prottoss @ Dec 8 2007, 20:37) Это ...   Dec 8 2007, 15:29
|- - prottoss   Цитата(dxp @ Dec 8 2007, 22:29) А разве о...   Dec 8 2007, 15:44
- - ReAl   В порте для avr-gcc с этим проще. Тип процессора п...   Dec 13 2007, 10:07
|- - prottoss   Цитата(ReAl @ Dec 13 2007, 17:07) В порте...   Dec 13 2007, 12:18
- - bus16   Вот тоже появилось пара вопросов по мютексам: 1 Си...   Dec 27 2007, 07:28
|- - jorikdima   Цитата(bus16 @ Dec 27 2007, 10:28) Вот то...   Dec 27 2007, 09:32
|- - bus16   С 1 - понятно, хотел просто уточнить. Цитата(jorik...   Dec 27 2007, 09:45
|- - dxp   Цитата(bus16 @ Dec 27 2007, 15:45) Mutex-...   Dec 27 2007, 13:24
- - jorikdima   В том изаключается мягкость, что если ресурс уже з...   Dec 27 2007, 13:27
- - LessNik   Возник вопрос по обработке прерываний от системной...   Jan 17 2008, 07:35
|- - Сергей Борщ   Цитата(LessNik @ Jan 17 2008, 09:35) Пере...   Jan 17 2008, 08:59
|- - LessNik   Всё заработало. Пока ещё не смог сломать Цитат...   Jan 17 2008, 13:07
- - LessNik   ЦитатаПосмотрел, как в OS_Target_cpp.cpp сделан об...   Jan 18 2008, 07:07
- - Сергей Борщ   Цитата(LessNik @ Jan 18 2008, 09:07) Може...   Jan 18 2008, 09:19
- - LessNik   Цитата(Сергей Борщ @ Jan 18 2008, 12:19) ...   Jan 18 2008, 14:36
- - Сергей Борщ   Цитата(LessNik @ Jan 18 2008, 16:36) GBGU...   Jan 19 2008, 00:47
- - LessNik   Цитата(Сергей Борщ @ Jan 19 2008, 03:47) ...   Jan 22 2008, 06:40
|- - Сергей Борщ   Цитата(LessNik @ Jan 22 2008, 08:40) Полу...   Jan 22 2008, 08:05
- - LessNik   Цитата(Сергей Борщ @ Jan 19 2008, 03:47) ...   Jan 31 2008, 10:24
- - Сергей Борщ   Цитата(LessNik @ Jan 31 2008, 12:24) При ...   Jan 31 2008, 13:02
- - spf   Цитата(Сергей Борщ @ Jan 31 2008, 18:02) ...   Feb 2 2008, 03:25
- - IgorKossak   Цитата(spf @ Feb 2 2008, 05:25) И туда: [...   Feb 3 2008, 10:33
- - zltigo   Цитата(IgorKossak @ Feb 3 2008, 13:33) Не...   Feb 3 2008, 10:47
- - Сергей Борщ   Цитата(IgorKossak @ Feb 3 2008, 12:33) Ош...   Feb 3 2008, 11:30
- - spf   Цитата(IgorKossak @ Feb 3 2008, 15:33) Не...   Feb 4 2008, 15:21
- - IgorKossak   Цитата(spf @ Feb 4 2008, 17:21) Все работ...   Feb 5 2008, 06:11
- - spf   Цитата(IgorKossak @ Feb 5 2008, 11:11) По...   Feb 5 2008, 08:31


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

 


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


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