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

 
 
> Как отловить переполнение стека, LPC2142.
DreamTwister
сообщение Nov 7 2008, 12:46
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 5-08-08
Из: Челябинск
Пользователь №: 39 436



Решаю вопросы по оптимизации работы оперативной памяти, так как ее стало не хватать.
Для начала решил разобраться с использованием стека, но не совсем понимаю принцип работы следующей процедуры, которой настоятельно советуют воспользоваться авторы операционки.

unsigned portSHORT usTaskCheckFreeStackSpace( const unsigned portCHAR *pucStackByte )

Что нужно в нее передавать? Вершину стека?
Откуда вызывать данную функция?
Я так понял, что ее можно вызвать из выполняемой задачи и посмотреть, сколько эта задача "кушает" сетка.

Или я что-то не понимаю.

Компилятор - IAR. Версия ОС - FreeRTOS 4.4.0.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
DreamTwister
сообщение Nov 10 2008, 05:06
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 5-08-08
Из: Челябинск
Пользователь №: 39 436



Поковырял я исходники, но смысл проблемы особо не изменился.

В функции xTaskCreate объявляется ряд структур, а именно:
pxCurrentTCB
pxNewTCB.

Проблема в том, что они все локальные и никуда не передаются. В них содержаться параметры стека, которые мне нужны. Как их лучше оттуда выковырять?

Или там есть более простой способ?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 10 2008, 07:26
Сообщение #3


Гуру
******

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



Цитата(DreamTwister @ Nov 10 2008, 08:06) *
Проблема в том, что они все локальные и никуда не передаются.
Как их лучше оттуда выковырять?

Написать некую свою локальную-же функцию, или посмотреть уже готовую функцию/макрос в исходнике. Чем, например Вас не устраивает в первом приближении uxTaskGetStackHighWaterMark( xTaskHandle xTask ) ???


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 21:51
Рейтинг@Mail.ru


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