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

 
 
> FreeRTOS 9.0 Static, Определение размера стека
Boriska
сообщение Nov 7 2016, 11:34
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 28-11-07
Пользователь №: 32 772



В новой версии FreeRTOS 9.0 появилась возможность выделять память (под задачи/очереди и т.д.) статически.
Подскажите, как определить оптимальный размер памяти под стек задачи? Ну, кроме как ловить vApplicationStackOverflowHook?
Может есть какая-то методика?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ar__systems
сообщение Jan 13 2017, 15:11
Сообщение #2


self made
****

Группа: Свой
Сообщений: 855
Регистрация: 7-03-09
Из: Toronto, Canada
Пользователь №: 45 795



Задачу я решаю так: gcc умеет выдавать инфу, сколько памяти занимает на стеке каждая из функций. Так же он умеет выдавать дерево вызовов. Вот комбинируя эти данные с помощью скрипта я могу узнать, сколько стека надо для моей задачи. Конечно если есть вызовы функций через указатели придется инфу доработать вручную, но всяко лучше чем эксперементировать.


Цитата(zltigo @ Nov 28 2016, 07:59) *
Это у Вас в Ваших настольных sm.gif системах однократно. У меня есть и задачи, которые порождаются и уничтожаются. Как минимум это одна задача начальной инициализации и диагностики системы.


Спрашивается, зачем "задача начальной инициализации и диагностики системы" запускается как задача OS? Вызовите ее как обычную функцию до передачи управления OS и будет вам счастье.

Цитата(zltigo @ Dec 10 2016, 07:49) *
Есть места на планете, куда если и можно отправить "квалифицированного" сервисного инженера, то не быстро (например, заполярье оно, блин, даже дальше МКАД), и компьютерами с отладчиками его обвешать тоже нельзя, например, по причине взрывоопасных условий в шахте с оборудованием размазанным на сотни километров под землей. И вообще там очень грязно, темно, столов, стульев и даже розеток для компьютеров нет совсем, зато есть каска с фонарем, резиновые сапоги, роба, самоспасатель на шее и возможность ползать на четвереньках. А стоимость простоя комплекса в ожидании сервисинженера (а что, сервисинженер должен уметь собой заменять и программиста, и вообще всех?) со свежим лицензионным IAR EWARM и плагинами к нему sm.gif, это не много, а очень очень много.

Я не знаю, это я, или автор действительно немного сгущает краски? Конечно, есть неприятные места, но никто не ездит туда отлаживать свои поделки, во всяком случае так не должно быть, и если это происходит регулярно, то что-то во всей организации работы надо менять. Отлаживать в любом случае надо в комфорте своей лабы.

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

Цитата(jcxz @ Nov 28 2016, 07:20) *
Зачем все эти кучи, malloc()-и и пр. хлам когда задачи создаются однократно (при старте firmware) и, соответственно, стеки выделяются также однократно. И никогда не освобождаются.
....
Всё, что может быть распределено build-time и должно распределяться build-time.

сам факт выделения стэков с помощью mallocov это не такая уж большая беда. В конце концов, если я создаю все задачи и стэки до запуска ос, выделение и размещение стэков происходит абсолютно детерменировано, и это главное. Т.е. это даже "динамическим" созданием можно назвать лишь с натяжкой. А вот по настоящему динамическое создание и запуск задач в процессе работы в эмбед системе это реальное зло, и я бы в своем железе не разрешил бы такое никогда. Особенно в том, которое работает в тех ужасных условиях, когда рядом нет ни стола, ни розетки wink.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Boriska   FreeRTOS 9.0 Static   Nov 7 2016, 11:34
- - x893   Точно так же как и раньше 1. Прописываем стек изве...   Nov 7 2016, 12:59
|- - zltigo   QUOTE (x893 @ Nov 7 2016, 15:59) Точно та...   Nov 7 2016, 15:08
|- - jcxz   Цитата(zltigo @ Nov 7 2016, 18:08) Ага. Т...   Nov 25 2016, 10:00
||- - zltigo   QUOTE (jcxz @ Nov 25 2016, 12:00) Стеки з...   Nov 25 2016, 11:54
||- - dxp   QUOTE (zltigo @ Nov 25 2016, 18:54) Но ме...   Nov 26 2016, 13:17
|||- - zltigo   QUOTE (dxp @ Nov 26 2016, 15:17) Система ...   Nov 26 2016, 16:04
|||- - dxp   QUOTE (zltigo @ Nov 26 2016, 23:04) Ага, ...   Nov 27 2016, 05:17
|||- - zltigo   QUOTE (dxp @ Nov 27 2016, 07:17) Слабо пр...   Nov 27 2016, 11:03
||- - jcxz   Цитата(zltigo @ Nov 25 2016, 14:54) Но ме...   Nov 28 2016, 10:22
||- - zltigo   QUOTE (jcxz @ Nov 28 2016, 12:22) Узнаём ...   Nov 28 2016, 11:13
||- - jcxz   Цитата(zltigo @ Nov 28 2016, 14:13) Там и...   Nov 28 2016, 12:20
||- - zltigo   QUOTE (jcxz @ Nov 28 2016, 14:20) Без про...   Nov 28 2016, 12:59
||- - jcxz   Цитата(zltigo @ Nov 28 2016, 15:59) ...   Nov 28 2016, 14:51
||- - zltigo   QUOTE (jcxz @ Nov 28 2016, 16:51) И в чём...   Nov 28 2016, 15:53
||- - jcxz   Цитата(zltigo @ Nov 28 2016, 18:53) Как п...   Dec 2 2016, 12:41
||- - zltigo   QUOTE (jcxz @ Dec 2 2016, 14:41) Вот это ...   Dec 2 2016, 15:56
||- - jcxz   Цитата(zltigo @ Dec 2 2016, 18:56) Вы НЕ ...   Dec 3 2016, 11:06
||- - zltigo   QUOTE (jcxz @ Dec 3 2016, 13:06) Я просто...   Dec 3 2016, 12:32
|- - Raven   Цитата(x893 @ Nov 7 2016, 15:59) 1. Пропи...   Jan 13 2017, 15:47
- - Boriska   Цитата(x893 @ Nov 7 2016, 15:59) 2. Отсле...   Nov 7 2016, 17:11
- - x893   Если освоить SystemView, то можно на большом экран...   Nov 25 2016, 11:26
|- - turnon   Цитата(x893 @ Nov 25 2016, 15:26) Если ос...   Nov 26 2016, 19:19
- - x893   1. Копируем в гуглопоиск SystemView и смотрит перв...   Nov 26 2016, 20:22
- - haker_fox   А мне тоже нравится динмаическое распределение, чу...   Nov 27 2016, 09:51
- - haker_fox   QUOTE (jcxz @ Nov 28 2016, 18:22) Это над...   Nov 29 2016, 12:26
|- - zltigo   QUOTE (haker_fox @ Nov 29 2016, 14:26) За...   Nov 29 2016, 14:46
|- - k155la3   Цитата(haker_fox @ Nov 29 2016, 16:26) . ...   Dec 6 2016, 13:26
- - Tahoe   Немного разбавлю этот двустраничный флуд, про обор...   Dec 10 2016, 12:35
|- - zltigo   Цитата(Tahoe @ Dec 10 2016, 14:35) Немног...   Dec 10 2016, 12:49
|- - Tahoe   Цитата(zltigo @ Dec 10 2016, 15:49) Ваш в...   Dec 10 2016, 23:30
|- - zltigo   Цитата(Tahoe @ Dec 11 2016, 01:30) ...   Dec 11 2016, 08:03
|- - Tahoe   Цитата(zltigo @ Dec 11 2016, 11:03) Вы, н...   Dec 11 2016, 11:16


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

 


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


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