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

 
 
> определение расхода RAM
arttech
сообщение Apr 21 2009, 13:59
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 62
Регистрация: 28-10-06
Из: г. Севастополь
Пользователь №: 21 744



Добрый день!

Подскажите, как можно определить какое количество памяти RAM требуется в процессе выполнения программы и не превышает ли программа своими запросами установленное количество на МК?

Использую MSP430F2471, RAM памяти - 4 КБ.

Иногда замечал, что в процессе девайс начинал вести себя непредсказуемо и логики в работе никакой не было. После уменьшения количества длин буферов всё ставало на свои места.
В MAP файле под глобальные переменные расходуется "3 670 bytes of DATA memory (+ 61 absolute )", но вот в процессе работы включаются в работу процедуры, где запрашивается RAM из стека.
Так вот, как убедиться, что процедуры не превышают запрашиваемый объём RAM?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Kurt
сообщение Apr 22 2009, 11:29
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 63
Регистрация: 16-06-04
Из: Россия, Уфа
Пользователь №: 31



про контроль вершины стека, простой примерчик для компилятора IAR:
Код
//---------------------------------------------------------
void sys_check_stack_init(void)
{  
    #pragma segment="CSTACK"
    unsigned short * p = (unsigned short *)__segment_begin("CSTACK");
    *p++ = 0xDEAD;
    *p   = 0xDEAD;
}

//---------------------------------------------------------
void sys_check_stack(void)
{  
    #pragma segment="CSTACK"
    unsigned short * p = (unsigned short *)__segment_begin("CSTACK");
    if( (p[0] != 0xDEAD) || (p[1] != 0xDEAD) ) WDTCTL=0x00;
}
Go to the top of the page
 
+Quote Post



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

 


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


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