|
|
 |
Ответов
|
Dec 23 2011, 15:51
|
Участник

Группа: Участник
Сообщений: 18
Регистрация: 6-11-11
Пользователь №: 68 153

|
начал осваивать rtos
правильно ли я понимаю что при создании задачи размер стека надо указывать в зависимости от того, сколько вложенных функций будет в самой задаче? то есть если в задаче глубина вложенности функций будет например 10, то и размер стека надо указывать >176? то есть такая задача отожрет >704 байта оперативы. что в общем то не кашерно при наличии 8к оперативы.
или что то я не так делаю?
|
|
|
|
|
Dec 23 2011, 16:07
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(rexton @ Dec 23 2011, 17:51)  начал осваивать rtos
правильно ли я понимаю что при создании задачи размер стека надо указывать в зависимости от того, сколько вложенных функций будет в самой задаче? Про локальные переменные тоже надо не забывать. Цитата(rexton @ Dec 23 2011, 17:51)  то есть если в задаче глубина вложенности функций будет например 10, то и размер стека надо указывать >176? то есть такая задача отожрет Почему именно 176? Каждый уровень потребляет 17,6 байта? Цитата(rexton @ Dec 23 2011, 17:51)  >704 байта оперативы. что в общем то не кашерно при наличии 8к оперативы.
или что то я не так делаю? Контроллер слабоват. Нужен более мощный.
|
|
|
|
|
Dec 23 2011, 16:45
|
Участник

Группа: Участник
Сообщений: 18
Регистрация: 6-11-11
Пользователь №: 68 153

|
Цитата(_Артём_ @ Dec 23 2011, 19:07)  Почему именно 176? Каждый уровень потребляет 17,6 байта? ну не 17,6 байта. Я так понял что указываемое значение - это не число байт, а число 32разрядных слов. а 176 - экспериментальным путем получено. указываю меньше 32 - вообще задача не запускается а потом добавляю по 16 на каждый уровень вложенности функций, иначе вылетает в vApplicationStackOverflowHook
|
|
|
|
|
Dec 23 2011, 17:09
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(rexton @ Dec 23 2011, 18:45)  а число 32разрядных слов. А какая архитектура? Цитата(rexton @ Dec 23 2011, 18:45)  а потом добавляю по 16 на каждый уровень вложенности функций, иначе вылетает в vApplicationStackOverflowHook ИМХО сомнительный подход. Могу ошибаться, но мне кажется, что уровень вложенности не равен количеству вызовов функций: Код void f2() { } void f1() { f2(); }
void main() { f1() } Для этого кода уровень вложенности не 2, столько сколько компилятор сделает.
|
|
|
|
|
Dec 23 2011, 17:57
|
Участник

Группа: Участник
Сообщений: 18
Регистрация: 6-11-11
Пользователь №: 68 153

|
согласен. тогда получается лишняя заморочка по расчету того сколько же стека нужно задаче.... а камень - stm32f100rb
|
|
|
|
|
Dec 23 2011, 20:08
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(rexton @ Dec 23 2011, 19:57)  согласен. C чем именно согласны? Цитата(rexton @ Dec 23 2011, 19:57)  тогда получается лишняя заморочка по расчету того сколько же стека нужно задаче.... Лишняя? Стек надо как-то учитывать.... Если стека не хватает работать не будет. А говорите - лишняя. Цитата(rexton @ Dec 23 2011, 19:57)  а камень - stm32f100rb Понятно
|
|
|
|
Сообщений в этой теме
DreamTwister Расход стека Jan 30 2009, 12:47 FormatCft Цитата(DreamTwister @ Jan 30 2009, 17:47)... Jan 30 2009, 16:37 zltigo Цитата(DreamTwister @ Jan 30 2009, 15:47)... Jan 30 2009, 20:28 ddiimmaa во FreeRTOS стек ВСЕХ задач используют обработчики... Jan 31 2009, 01:40 DreamTwister Что-то тут не так...
Закрыл комментариями все сод... Feb 2 2009, 05:08 ddiimmaa Цитата(DreamTwister @ Feb 2 2009, 09:08) ... Feb 4 2009, 20:45  HARMHARM Цитата(ddiimmaa @ Feb 4 2009, 22:45) Да к... Feb 7 2009, 15:02   DreamTwister Цитата(HARMHARM @ Feb 7 2009, 20:02) Вооб... Feb 9 2009, 07:38   ddiimmaa Цитата(HARMHARM @ Feb 7 2009, 19:02) Вооб... Feb 14 2009, 14:19 vitko Объясните пожалуйста.
Правильно ли я понимаю, что... Jan 26 2010, 14:28 zltigo Цитата(vitko @ Jan 26 2010, 17:28) Объясн... Jan 26 2010, 21:21 Aurochs Цитата(vitko @ Jan 26 2010, 16:28) В само... Jan 28 2010, 17:00 zltigo Цитата(Aurochs @ Jan 28 2010, 20:00) чем ... Jan 28 2010, 17:07  vitko Цитата(zltigo @ Jan 28 2010, 19:07) ... Н... Jan 29 2010, 14:01   zltigo Цитата(vitko @ Jan 29 2010, 17:01) Но это... Jan 29 2010, 15:18 Aurochs Цитата(zltigo @ Jan 28 2010, 19:07) Ну а ... Jan 31 2010, 22:04 zltigo Цитата(Aurochs @ Feb 1 2010, 00:04) Какой... Jan 31 2010, 22:42 Aurochs На грани фола в моем понимании означает, что сильн... Feb 1 2010, 00:41 zltigo Цитата(Aurochs @ Feb 1 2010, 02:41) И, че... Feb 1 2010, 06:09 ReAl Счётчик вложености прерываний нужен хотя бы для то... Feb 1 2010, 00:49 sergeeff ЦитатаНа грани фола в моем понимании означает, что... Feb 1 2010, 07:02 kan35 Цитата(rexton @ Dec 23 2011, 19:51) начал... Dec 23 2011, 16:12
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|