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

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> FreeRTOS 9.0 Static, Определение размера стека
zltigo
сообщение Dec 11 2016, 08:03
Сообщение #31


Гуру
******

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



Цитата(Tahoe @ Dec 11 2016, 01:30) *
"Высер", это когда кто-то, вместо ответа на конкретный вопрос, продолжает умничать, причем совершенно не по делу. Когда меня заинтересует твое мнение о разворачивании больших систем, инженеры в резиновых сапогах и прочие "места на планете"(с), я обязательно спрошу. Но уж точно это будет не в топике, о статическом размещении переменных.

Вот ведь как получилось - Вы, ничего не понимая в том, какие условия эксплуатации и работы бывают. Какие способы контроля в процессе работы и отладки неоходимо ВСТРАИВАИТЬ в системы. В реальные системы, а не коробочку работающую на столе перед Вами. При при этом сами не умея самостоятельно разобраться с инструментом отладки даже у себя на столе, Вы сочли возможным походя обгадить инженеров "в сапогах с отвертками".
Цитата
А пока, если по существу моего вопроса ответить нечего - проходи мимо и не флуди. Я доходчиво обозначил позицию?

После чего имеете еще наглость "обозначать позиции".


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Tahoe
сообщение Dec 11 2016, 11:16
Сообщение #32


Местный
***

Группа: Свой
Сообщений: 459
Регистрация: 30-03-06
Из: Москва
Пользователь №: 15 600



Цитата(zltigo @ Dec 11 2016, 11:03) *
Вы, ничего не понимая в том, какие условия эксплуатации и работы бывают.

"Да уймись, дура!"(с)

По моему вопросу, о плагине, есть что сказать?
Go to the top of the page
 
+Quote Post
ar__systems
сообщение Jan 13 2017, 15:11
Сообщение #33


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
Raven
сообщение Jan 13 2017, 15:47
Сообщение #34


Местный
***

Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987



Цитата(x893 @ Nov 7 2016, 15:59) *
1. Прописываем стек известным значением (мне нравится DEADBEEF) и потом смотрим

Цитата(zltigo @ Nov 7 2016, 18:08) *
А мне CAFEBABE sm.gif - оптимистичнее sm.gif

Использовали оба варианта. А недавно человек со свежим незамутненным взглядом предложил 0xDEDABABA :-)

Извините, не мог мимо пройти.
Go to the top of the page
 
+Quote Post

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

 


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


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