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

 
 
> Не инициализируемая память., Прошу сильно не пинать.
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
Ответов
_artem_
сообщение Aug 18 2007, 16:10
Сообщение #2


учащийся
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 29-10-05
Из: города контрастов
Пользователь №: 10 249



Наконец то переборол лень прочитал хлинк описание и поставил отдельный хцл файл.
Правда лень частично победила и написал чтотo вроде :

-Z(SPLIT-DATA)NEAR_I,NEAR_Z,NEAR_C,NEAR_N=_..X__SRAM_BASE-_..X_SRAM_END,_..X_EXT_SRAM_BASE:+_..X__EXT_SRAM_SIZE

Вопросик такой - кто нибудь использует такие распределенные между внутренней и внешней памятью сегменты как наверху ? Есть подвох в этом?
Понятно что для быстрого доступа к опеределенным переменным я могу свой сегмент создать, а так, если мне без разницы, то зачем не позволить линкеру сделать это неблагодарное дело за меня?


--------------------
Зачем лаять на караван , когда на него можно плюнуть?

Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Aug 20 2007, 23:12
Сообщение #3


Гуру
******

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



Цитата(_artem_ @ Aug 18 2007, 19:10) *
Наконец то переборол лень прочитал хлинк описание и поставил отдельный хцл файл.
Правда лень частично победила и написал чтотo вроде :

-Z(SPLIT-DATA)NEAR_I,NEAR_Z,NEAR_C,NEAR_N=_..X__SRAM_BASE-_..X_SRAM_END,_..X_EXT_SRAM_BASE:+_..X__EXT_SRAM_SIZE

Вопросик такой - кто нибудь использует такие распределенные между внутренней и внешней памятью сегменты как наверху ? Есть подвох в этом?
Понятно что для быстрого доступа к опеределенным переменным я могу свой сегмент создать, а так, если мне без разницы, то зачем не позволить линкеру сделать это неблагодарное дело за меня?


Да вроде нет. У меня всё распределено верно. Хотя проект крупный относительно. Озу - 8к. К распределению переменных не касался и свои сегменты не создавал. И, если честно, то не могу понять как создание своего сегмента может ускорить доступ к определённым переменным.

Если потом интересует, то смотрел распределение памяти по переменным в MAP файле.
Go to the top of the page
 
+Quote Post



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

 


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


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