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

 
 
> FreeRTOS общие вопросы
MALLOY2
сообщение Apr 24 2009, 13:33
Сообщение #1


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Начинаю осваивать данную ось, до этого не имел дел с RTOS для встраиваемых систем. Имею опыт работы на винде с много поточными приложениями.
Скачав последнюю версию и взяв оттуда порт под IAR str912.
Для старта использую иарвский менагер памяти. Создал две задачи обе просто мигают светодиодами, сразу напоролся на грабли с стеками, оказалось размер стека задается не в байтах, а в тугриках с размером portSTACK_TYPE, в этом есть свой смысл но вот в описании что то я об этом нигде не встретил.

Вопросы будут касательно стеков и режимов работы ядра ARM.

1. В каких режимах работает процессор ?
Пока ястно одно в майн он попадает в режиме SVC, в тасках он в режиме SYS, переключение задач выполняется по SWI 0, а другие функции кернела в каком режиме работают ?

2. Режимы FIQ, Abort и UND наверное не интересно так как пока они не используются. CSTACK используется в режимах SYS и USR этот стек где нибудь используется или смело можно ставить 0 ?

3. Какой нужен размер стека для SVC режима ?

4. Судя из обвертки IRQHandler прерывания не могут быть вложенными. От сюда размер стека для IRQ задается по задаче максимально его используемого или не так ? Для тиков используется прерываение от таймера в нем вызывается функция vTaskSwitchContext(); она получается работает в режиме IRQ. Установив брекпоин в этой функции оказалось что в ходе работы она работает в 2 режимах IRQ и SVC както криво получается sad.gif

5. Существует минимальный размер стека для задачи ? или в каком стеке хранится контекст задачи в стеке задачи или в стеке режима SVC ?



P.S. Сильно не пинайте если вопросы уже обсуждались я просто не нашел.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
petrovichs
сообщение Aug 3 2009, 09:33
Сообщение #2





Группа: Участник
Сообщений: 10
Регистрация: 2-08-09
Пользователь №: 51 706



Не обьясните как толком пользоваться функцией vTaskStartTrace?
Я прописал
Код
#define configQUEUE_REGISTRY_SIZE       10
#define configUSE_TRACE_FACILITY    1

Далее вызвал
Код
vTaskStartTrace(TraceBuffer, 2000);

В эту область данных в двоичном формате начались записываться некие данные, как прочитать не понятно.
convtrce.exe я так нигде и не нашел.
Как получить из этой функции информацию подобную вот это?

Объясните если кто вкурсе, плз.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 3 2009, 09:48
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(petrovichs @ Aug 3 2009, 12:33) *
Как получить из этой функции информацию подобную вот это?

Так это к трассировке никакого отношения не имеет, это просто текущее состояние системы - там в буферок сразу текст сбрасывается.
Криво sad.gif
В оригинале что-то типа prvListTaskWithinSingleList() смотрите.

При наличии консоли, сразу в нее буфер печати и сбрасывать. У меня там еше сразу занятость стека проверяется и адрес TCB выдается. Выглядит так:
Цитата
ps
R 5 Console tcb=40003FB0:96/480
R 0 Idle tcb=400041D8:380/600
B 3 LAPD2 tcb=40005D80:144/480
B 3 LAPD3 tcb=40006540:144/480
B 3 LAPD1 tcb=400055C0:176/480
B 4 SPItx tcb=40004758:136/200
B 3 LAPD0 tcb=40004E00:208/480
B 2 HDLC0TX tcb=40004C28:152/400
B 2 HDLC1TX tcb=400053E8:152/400
B 2 HDLC2TX tcb=40005BA8:152/400
B 2 HDLC3TX tcb=40006368:152/400
B 1 Checker tcb=40006768:96/120


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- MALLOY2   FreeRTOS общие вопросы   Apr 24 2009, 13:33
- - Aurochs   Цитата(MALLOY2 @ Apr 24 2009, 16:33) 1. В...   Apr 25 2009, 22:13
- - MALLOY2   ЦитатаЦитата(MALLOY2 @ Apr 24 2009, 16:33) * 3. Ка...   May 17 2009, 16:17
|- - zltigo   Цитата(MALLOY2 @ May 17 2009, 19:17) Я по...   May 17 2009, 18:01
- - MALLOY2   КодportSTACK_TYPE *pxPortInitialiseStack( port...   May 17 2009, 18:29
- - asd6715   Не могу понять как реализована вытесняющая многоза...   Jul 14 2009, 07:49
|- - HARMHARM   Цитата(asd6715 @ Jul 14 2009, 10:49) Не м...   Jul 14 2009, 22:30
- - asd6715   Ещё не смог разобраться. Как фриРТОС работает с за...   Jul 15 2009, 10:03
|- - zltigo   Цитата(asd6715 @ Jul 15 2009, 13:03) Ещё ...   Jul 15 2009, 11:06
- - asd6715   Да Вы правы, полное занурение в документацию, это ...   Jul 15 2009, 23:06
|- - aaarrr   Цитата(asd6715 @ Jul 16 2009, 03:06) Тогд...   Jul 15 2009, 23:19
|- - zltigo   Цитата(asd6715 @ Jul 16 2009, 02:06) Да В...   Jul 16 2009, 08:17
|- - asd6715   Цитата(zltigo @ Jul 16 2009, 11:17) Не юр...   Jul 19 2009, 08:08
- - head_sk   Co-routines хороший функционал. Это реализация коо...   Jul 19 2009, 08:19
|- - AlexMad   Цитата(head_sk @ Jul 19 2009, 12:19) Co-r...   Jul 23 2009, 12:56
- - qwerty   Господа, а не у кого нет документов "Using th...   Jul 21 2009, 05:11
|- - zltigo   Цитата(qwerty @ Jul 21 2009, 08:11) 1. Н...   Jul 21 2009, 05:18
- - asd6715   Не ругайте строго не могу найти функцию. В uc/os-I...   Jul 25 2009, 13:23
|- - zltigo   Цитата(asd6715 @ Jul 25 2009, 16:23) плох...   Jul 25 2009, 13:33
- - asd6715   Чесно признаюсь, просто прочитал название функции,...   Jul 25 2009, 20:28
- - head_sk   Что-то подобное что есть на этой картинке можно по...   Aug 3 2009, 10:42
- - asd6715   Извините что задаю очень глупые вопросы. Но я ещё ...   Aug 3 2009, 14:13
- - Faradey   сказать больше чем это сделали разработчик(-и) Fre...   Aug 5 2009, 11:07
- - salvian   когда стартует шэдулер отключаются прерывания, а в...   Aug 27 2009, 13:14
- - aaarrr   При восстановлении контекста в vPortISRStartFirstT...   Aug 27 2009, 13:33
- - mariaoi   Здравствуйте. Не подскажите как во freeRTOS опреде...   Oct 17 2009, 12:17
|- - KolyanV   Цитата(mariaoi @ Oct 17 2009, 15:17) Здра...   Oct 22 2009, 18:41
- - head_sk   В свое время для себя писал: Код#if ( configU...   Oct 17 2009, 14:23
- - Mr.Woland   Здравствуйте, не поскажите, есть-ли в FreeRTOS под...   Nov 12 2009, 06:02
- - GetSmart   Заранее извиняюсь за плохое знание аглицкого. Кто ...   Nov 12 2009, 09:10
|- - zltigo   Цитата(GetSmart @ Nov 12 2009, 12:10) Кто...   Nov 12 2009, 09:30
|- - GetSmart   Цитата(zltigo @ Nov 12 2009, 15:30) Вопро...   Nov 12 2009, 09:38
|- - zltigo   Цитата(GetSmart @ Nov 12 2009, 12:38) Для...   Nov 12 2009, 09:47
- - GetSmart   На что влияет установка configIDLE_SHOULD_YIELD в ...   Nov 12 2009, 09:51
|- - zltigo   Цитата(GetSmart @ Nov 12 2009, 12:51) Над...   Nov 12 2009, 10:07
|- - Terminator   Цитата(zltigo @ Nov 12 2009, 16:07) В реа...   Nov 17 2009, 10:50
|- - zltigo   Цитата(Terminator @ Nov 17 2009, 13:50) Т...   Nov 17 2009, 11:13
|- - Terminator   Цитата(zltigo @ Nov 17 2009, 17:13) Для т...   Nov 17 2009, 11:31
|- - zltigo   Цитата(Terminator @ Nov 17 2009, 14:31) Т...   Nov 17 2009, 12:12
- - GetSmart   Объясните пожалуйста глобальный смысл в дефайнах F...   Nov 12 2009, 13:07
|- - zltigo   Цитата(GetSmart @ Nov 12 2009, 16:07) Объ...   Nov 12 2009, 14:33
|- - GetSmart   Цитата(zltigo @ Nov 12 2009, 20:33) Относ...   Nov 13 2009, 04:02
|- - zltigo   Цитата(GetSmart @ Nov 13 2009, 07:02) Осо...   Nov 13 2009, 13:36
|- - GetSmart   Цитата(zltigo @ Nov 13 2009, 19:36) Я оза...   Nov 13 2009, 18:03
- - GetSmart   Подскажите пожалуйста ответ на два вопроса. 1. Как...   Nov 19 2009, 12:34
|- - zltigo   Цитата(GetSmart @ Nov 19 2009, 15:34) Под...   Nov 19 2009, 13:20
|- - GetSmart   Цитата(zltigo @ Nov 19 2009, 19:20) Ну а ...   Nov 19 2009, 13:53
|- - zltigo   Цитата(GetSmart @ Nov 19 2009, 16:53) Я п...   Nov 19 2009, 14:42
|- - HARMHARM   Цитата(GetSmart @ Nov 19 2009, 15:53) Эта...   Nov 19 2009, 17:54
|- - GetSmart   Цитата(HARMHARM @ Nov 19 2009, 23:54) Неу...   Nov 19 2009, 18:57
|- - zltigo   Цитата(GetSmart @ Nov 19 2009, 21:57) 600...   Nov 19 2009, 19:08
|- - GetSmart   Цитата(zltigo @ Nov 20 2009, 01:08) ...иб...   Nov 20 2009, 08:41
|- - zltigo   Цитата(GetSmart @ Nov 20 2009, 11:41) Сам...   Nov 20 2009, 10:12
|- - GetSmart   Цитата(zltigo @ Nov 20 2009, 16:12) Кодvo...   Nov 20 2009, 14:01
|- - zltigo   Цитата(GetSmart @ Nov 20 2009, 17:01) пра...   Nov 20 2009, 15:58
- - DSP-Starter   А никто не видел порт для blackfin?   Mar 1 2010, 14:59
|- - aaarrr   Цитата(DSP-Starter @ Mar 1 2010, 17...   Mar 1 2010, 15:30
- - lazarev andrey   объясните непонятливому: как можно корректно отл...   Jun 1 2010, 14:35
|- - HARMHARM   Цитата(lazarev andrey @ Jun 1 2010, 17:35...   Jun 1 2010, 18:32
- - GetSmart   У меня тоже есть общие вопросы. 1. Где-нибудь леж...   Feb 14 2011, 07:44
|- - Terminator   Цитата(GetSmart @ Feb 14 2011, 13:44) 1. ...   Feb 14 2011, 09:37
|- - GetSmart   Цитата(Terminator @ Feb 14 2011, 14:37) н...   Feb 14 2011, 09:56
|- - kan35   Цитата(GetSmart @ Feb 14 2011, 12:56) Есл...   Feb 15 2011, 08:22
|- - GetSmart   Цитата(kan35 @ Feb 15 2011, 13:22) То ест...   Feb 15 2011, 09:50
|- - zltigo   QUOTE (kan35 @ Feb 15 2011, 11:22) Вообще...   Feb 15 2011, 11:13
- - kan35   самое простое - запретить прерывание от этого тайм...   Feb 14 2011, 09:15
|- - GetSmart   Цитата(kan35 @ Feb 14 2011, 14:15) самое ...   Feb 14 2011, 09:21
- - hip   Вопрос такой: пытаюсь запустить пример из Demo/COR...   Mar 3 2011, 10:13
- - zltigo   Не куда, а откуда. Начните копать с фиксации факта...   Mar 3 2011, 11:17
- - hip   Ага, понятно. У меня, просто получилось заставить ...   Mar 3 2011, 11:49


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

 


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


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