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

 
 
> Ошибка e16 Помогите!, Во время компилирования проекта возникает ошибка
#Kirill
сообщение Dec 14 2010, 06:04
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 14-12-10
Пользователь №: 61 595



Помогите пожалуйста разобраться, в чем ошибка. Добавил в проект менюшку, вылезла ошибка. Как с этим бороться?((((
Как я понимаю, не хватает памяти ОЗУ для глобальных переменных. Что мне делать?(((

Error[e16]: Segment NEAR_Z (size: 0x36a align: 0) is too long for segment definition. At least 0x39 more bytes needed. The problem occurred while processing the segment placement command "-Z(DATA)NEAR_I,NEAR_Z=_..X_SRAM_BASE-Error[e16]: Segment NEAR_Z (size: 0x36a align: 0) is too long for segment definition. At least 0x39 more bytes needed. The problem occurred while processing the segment placement command "-Z(DATA)NEAR_I,NEAR_Z=_..X_SRAM_BASE-_..X_SRAM_END,_..X_EXT_SRAM_BASE:+_..X_EXT_SRAM_SIZE", where at the moment of placement the available memory ranges were "DATA:dcf-10ff,DATA:10ff--1"
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
#Kirill
сообщение Dec 14 2010, 08:56
Сообщение #2





Группа: Новичок
Сообщений: 3
Регистрация: 14-12-10
Пользователь №: 61 595



УРА!!! Поборол проблему. Все, видимо, оказалось в процедуре вывода строк на экран ЖКИ.

Раньше она выглядела так:

__flash char *SOFTREV =
{
"Soft rev. - 1.00 ",
};


void DrawString(char *str)
{
for(char i=0;i<18;i++)
{
DrawSymbol(str[i]);
}
}

И для вывода строки использовалась:

DrawString(SOFTREV);

Или можно прямо:

DrawString(”1234567890zzzzzzz”);

//------------------------------------------------------------------------------

Я поменял код на:

void DrawString(char __flash *str I)
{
for(char i=0;i<18;i++)
{
char P=*(str+i);
DrawSymbol(P);
}
}

и

void DrawStringC(char *str)
{
for(char i=0;i<18;i++)
{
char P=*(str+i);
DrawSymbol(P);
}
}

И для вызова использую их так:

char str[18]= ”1234567890zzzzzzz”;

__flash char *SOFTREV[18] =
{
"Soft rev. - 1.00 ",
};

DrawString(&SOFTREV[0]);
DrawStringC(str);

Т.е. при передаче параметров в процедуру использую адрес [0]- го элемента массива.

Ошибка исчезла. Компилируется нормально. Всем спасибо!!! biggrin.gif

Сообщение отредактировал #Kirill - Dec 14 2010, 08:58
Go to the top of the page
 
+Quote Post



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

 


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


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