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

 
 
> 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
Ответов
haker_fox
сообщение Nov 29 2016, 12:26
Сообщение #2


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (jcxz @ Nov 28 2016, 18:22) *
Это надуманная проблема.
Я участвовал в разработке многих изделий, которые потом стояли и работали "за тысячи километров" и при возникновении каких-то проблем у этих заказчиков, сам по ним не ездил, а только запрашивал номер версии firmware оттуда и разбирался уже на месте, указанным способом, воссоздавая обстановку у заказчика у себя в лаборатории.

Одно из недорузамений, которое происходит при общении с опытными людьми, возникает в тот момент, когда они пытаются тебе сказать, что много видели, и много знают, а значит, ситуации которой они не знают, просто не существует rolleyes.gif Без обид. Занимаюсь разработкой оборудования, которое может работать на подстанции вплоть до 750 кВ. Воссоздать всю эту "мерзкую" обстановку из электромагнитных полей у себя сможет далеко не каждая сертифицированная лаборатория. А симитировать какой-нить транс на 250 МВа вообще невозможно, не имея такой же у себя (или дорого в десятой степени) rolleyes.gif

QUOTE (jcxz @ Nov 28 2016, 20:20) *
Можно конечно все такие переменные выделять на куче (и я видел что многие ламеры так и делают на PC). Но зачем??? Никаких плюсов это не даёт, одни минусы.

Отдельные переменные выделять в куче - это, на мой взгляд, ибыточно. Обычно в куче выделяются массивы данных. Зачем это делать динамически во встраиваемой системе? Но ведь сама FreeRTOS изначально диктует динамическое выделение структур: стек, TCB... Статически всё это выделять можно только с 9 версии, если я не ошибаюсь.

Также удобно по ходу программы писать что-то в стиле
CODE
type_t * ptr = new type_t[ WANT_SIZE]
,
использовать массив, а затем удалить его, нежели заранее создавать его статически.


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 29 2016, 14:46
Сообщение #3


Гуру
******

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



QUOTE (haker_fox @ Nov 29 2016, 14:26) *
Зачем это делать динамически во встраиваемой системе?

Одна из частых моих причин, это та, что размеры буферов, очередей и состав самих задач конфигурируются при загрузке системы в зависимости от условий применения контроллера в системе.




--------------------
Feci, quod potui, faciant meliora potentes
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
|- - 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
- - ar__systems   Задачу я решаю так: gcc умеет выдавать инфу, сколь...   Jan 13 2017, 15:11


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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 03:40
Рейтинг@Mail.ru


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