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

 
 
> Как сделать дырку в коде, EWAVR 5.11B
LessNik
сообщение Nov 6 2009, 11:29
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 6-09-06
Из: Москва
Пользователь №: 20 118



Привет всем!
Подскажите, как объяснить компилятору, линкеру, чтобы расположить массив значений по строго заданному адресу во флеше. Причём так, чтобы код программы "огибал" этот массив.
Все попытки сделать дырку в коде заканчивались выводом ошибки:
Error[e16]: Segment CODE (size: 0x1104 align: 0x1) is too long for segment definition.
Если программа может разместиться до адреса, по которому пытаюсь расположить массив, то ошибки не происходит.

EWAVR 5.11B

Выражения типа
1. __root __flash const word XXX @ 0xBFE = {0xFFFF};
2.__root __flash const word XXX @ "MYSEGMENT" = {0xFFFF}; // в XCL: -Z(CODE)MYSEGMENT=AFE-AFF
3.__root __flash const word XXX @ 0xBFE = {0xFFFF};
#pragma required = XXX
не помогли.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zltigo
сообщение Nov 6 2009, 14:41
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(LessNik @ Nov 6 2009, 14:29) *
Подскажите, как...

Уже устал удивляться неиссякающему потоку не желающих думать и тупо располагать данные по фиксированным адресам sad.gif. Ну не нужно это практически никогда. Как максимум нужен один расположенный, например, после таблицы векторов, указатель на эту область данных.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post



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

 


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


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