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

 
 
> Не инициализируемая память., Прошу сильно не пинать.
SasaVitebsk
сообщение Jun 3 2006, 16:23
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Честно признаю, читал документацию. Даже сделал книжечки и постоянно в них лажу. Но к данному вопросу не знаю как подойти. Не разобрался по английски. smile.gif Поэтому прошу не отфутболивать к документации, а кратко ответить (если можно).

Пытаюсь к ряду переменных пристегнуть спецификатор __no_init. Но при пристёгивании хотябы к одной, компилятор выдаёт ошибку, что у меня отсутсвует сегмент данных NEAR_N. (Точнее не компилятор а редактор связей)

Error[e16]: Segment NEAR_N (size: 0x8 align: 0) is too long for segment definition. At least 0x8 more bytes needed. The problem occurred while processing the segment placement command "-Z(DATA)NEAR_N=_..X_EXT_NV_BASE:+_..X_EXT_NV_SIZE", where at the moment of placement the available memory ranges were "DATA:21ff--1"

Про данные сегменты я читал, но как его объявить в опциях проекта. Чтобы не создавать файл опций.
Если можно, то с примером пожалуйста. smile.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SasaVitebsk
сообщение Jun 3 2006, 23:02
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Я смотрел доку по LINK. И если бы я в ней разобрался, то не стал бы никого беспокоить. smile.gif
Описание опции -Z весьма скудное. Тоесть оно полное, но о таких вещах как _..X_EXT_NV_SIZE там не слова.
По моему глупо что сегмент NEAR_I (размеры и начало) линкер "понимает из проекта", а такой же NEAR_N - нет. В моём понимании, по опции __no_init компилятор должен был бы определить мои переменные в соответствующий сегмент. Соответственно линкер выделить под него место. Глупо выделять его вручную. Не хочу его размещать и привязывать к физическому адресу. А как указать линкеру, чтобы он сам зарезервировал место - не знаю.
Кроме всего попробовал дать команду в 'extra options', - так он гад пишет что не фиг мол два раза сегмент определять.

Можно конечно "извратится" и разместить переменные в каком-то своём сегменте, но по-моему должен быть какой-то прямой путь чтобы решить данную проблему.

.xcl файл я не создавал, а пользуюсь закладками в опциях пакета.

Ещё раз попрошу не отсылайте меня к документации. Ну не могу разобраться! Не может быть чтобы никто до меня данную проблему не решал. Кинте в меня примером строки из extra options или xcl файла. Или объясните ошибки. Буду очень благодарен.
Go to the top of the page
 
+Quote Post



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

 


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


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