Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: вылазит ошибка,а как с ней бороться?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Диm
Error[e16]: Segment DATA_I (size: 0x7f50 align: 0x2) is too long for segment definition. At least 0x3f50 more bytes needed. The problem occurred while processing the segment placement command "-Z(DATA)DATA_I,DATA_Z,DATA_N=RAMSTART-RAMEND", where at the moment of placement the available
memory ranges were "CODE:200000-203fff" Reserved ranges relevant to this placement:
200000-203fff DATA_I


while (n<=32592){
AT91F_PIO_ClearOutput(AT91C_BASE_PIOB, LED1);
x01=LCM[n]; появилась после того как я добавил вот эту строчку....
SetOutput(x01);
AT91F_PIO_SetOutput(AT91C_BASE_PIOB, LED1);
n++;

}
массив констант у меня обозначен так (данные в файле 8бит,разделены запятой)
char LCM[32592]={
#include "lcm_8_bit_6752kHz_32592.dat"
};
при использовании отладчика,такая ошибка не вылазит,только тогда когда делаю бинарник для прошивки на плату
IgorKossak
Видимо массив LCM[] с таким размером, что не влазит в диапазон RAMSTART-RAMEND.
Где определение массива?
Ошибка вылезла потому, что пока не было той строки, массив не использовался и поэтому не создавался.
Включите ремарки для лучшей диагностики ошибок.
GetSmart
Я так понял, что массив может (должен) лежать во флэше. Тогда объявите его как:
Код
const char LCM[32592]={
#include "lcm_8_bit_6752kHz_32592.dat"
};
Диm
Цитата(GetSmart @ May 26 2007, 19:17) *
Я так понял, что массив может (должен) лежать во флэше. Тогда объявите его как:
Код
const char LCM[32592]={
#include "lcm_8_bit_6752kHz_32592.dat"
};


да! вот так работаетsmile.gif
спасибо!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.