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

 
 
> Нехватка памяти С5402 (CCS 2.20), Возможна проблема конфигурации памяти ?
Саша Z
сообщение May 20 2007, 08:39
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822



Начал писать код проэкта (первый свой проэкт под DSP и С5402 в частности, посему опыта 0) - проблема конфигурации памяти (или моей безграмотности в использовании памяти процессора).

Есть несколько больших массивов данных определяемых в программе, + массивы стрингов/чаров.
При Build All падает линкер:
can't allocate .stack, size 00000400 (page 1) in IDATA (avail: 000003f6)

И хотя конфигурация памяти в .cmd почти масимальная, мен кажется проблема в черезмерном кол-ве данных, которыми я забиваю всю память, посему ее и нехватает.

Привожу релеваныные кусок кода:

Код
int samples = 2900;
int original_data[2900*4], unpacked_data[2900*4];
float packed_data[2900];

void f_write(char *str, int arr[], int N);
void f_read(char *str, int arr[], int N);

extern void ci_to_matlab();
extern void matlab_to_ci();

void main()
{
int i;
char* read_file[5];
char* write_file[5];

read_file[0] = "C:\\MATLAB7\\work\\Project\\Weighted filtering\\Operational version\\MATLAB sources\\Data\\zoom_inst1";
read_file[1] = "C:\\MATLAB7\\work\\Project\\Weighted filtering\\Operational version\\MATLAB sources\\Data\\zoom_inst2";
read_file[2] = "C:\\MATLAB7\\work\\Project\\Weighted filtering\\Operational version\\MATLAB sources\\Data\\zoom_inst3";
read_file[3] = "C:\\MATLAB7\\work\\Project\\Weighted filtering\\Operational version\\MATLAB sources\\Data\\zoom_inst4";
read_file[4] = "C:\\MATLAB7\\work\\Project\\Weighted filtering\\Operational version\\MATLAB sources\\Data\\zoom_inst5";

write_file[0] = "C:\\MATLAB7\\work\\Project\\Weighted filtering\\Operational version\\MATLAB sources\\Data\\out_inst1";
write_file[1] = "C:\\MATLAB7\\work\\Project\\Weighted filtering\\Operational version\\MATLAB sources\\Data\\out_inst2";
write_file[2] = "C:\\MATLAB7\\work\\Project\\Weighted filtering\\Operational version\\MATLAB sources\\Data\\out_inst3";
write_file[3] = "C:\\MATLAB7\\work\\Project\\Weighted filtering\\Operational version\\MATLAB sources\\Data\\out_inst4";
write_file[4] = "C:\\MATLAB7\\work\\Project\\Weighted filtering\\Operational version\\MATLAB sources\\Data\\out_inst5"


Файл конфигурации памяти:

[quote]

MEMORY
{
PAGE 0: EPROG: origin = 0x80, len = 0x7c00

PAGE 1: IDATA: origin = 0x80, len =0x8000
}

SECTIONS
{

.text: {} > EPROG PAGE 0
.bss: {} > IDATA PAGE 1
.const: {} > IDATA PAGE 1
.switch: {} > IDATA PAGE 1
.sysmem: {} > IDATA PAGE 1
.stack {} > IDATA PAGE 1
}

[/code]

Подозреваю большие массивы (в коде С) забили всю память DATA. Ваше мнение ? Что происходит ?
Go to the top of the page
 
+Quote Post



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

 


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


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