|
FreeRTOS общие вопросы |
|
|
|
Apr 24 2009, 13:33
|
Знающий
   
Группа: 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 както криво получается  5. Существует минимальный размер стека для задачи ? или в каком стеке хранится контекст задачи в стеке задачи или в стеке режима SVC ? P.S. Сильно не пинайте если вопросы уже обсуждались я просто не нашел.
|
|
|
|
|
 |
Ответов
|
Aug 3 2009, 09:33
|
Группа: Участник
Сообщений: 10
Регистрация: 2-08-09
Пользователь №: 51 706

|
Не обьясните как толком пользоваться функцией vTaskStartTrace? Я прописал Код #define configQUEUE_REGISTRY_SIZE 10 #define configUSE_TRACE_FACILITY 1 Далее вызвал Код vTaskStartTrace(TraceBuffer, 2000); В эту область данных в двоичном формате начались записываться некие данные, как прочитать не понятно. convtrce.exe я так нигде и не нашел. Как получить из этой функции информацию подобную вот это?  Объясните если кто вкурсе, плз.
|
|
|
|
|
Aug 3 2009, 09:48
|

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

|
Цитата(petrovichs @ Aug 3 2009, 12:33)  Как получить из этой функции информацию подобную вот это? Так это к трассировке никакого отношения не имеет, это просто текущее состояние системы - там в буферок сразу текст сбрасывается. Криво  В оригинале что-то типа 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
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|