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

 
 
> размещение констант в ROM, AT91SAM7Sxxx
Terrabyte
сообщение Sep 18 2007, 11:47
Сообщение #1


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

Группа: Свой
Сообщений: 124
Регистрация: 2-01-07
Из: Russia
Пользователь №: 24 042



работая с IAR 4.30А столкнулся с проблемой,
не получается разместить константу в internal flesh по абсолютному адресу,
проц ..SAM7S128, - 512 сегментов по 256 байт .
задача : разместить число 0x1234 в последнем сегменте, т.е.
по адресу 0x1FF00.
пробовал следующее:
1) static const int Adr_flesh @ 0x1FF00 = 0x1234;
2) #pragma location = 0x1FF00
const int Adr_flesh = 0x1234;
3) пробовал в файле __.xcl поменять
-D ROMEND=0001FFFF на
-D ROMEND=0001FEFF

Что нужно сделать? прошу помоч
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vmp
сообщение Sep 18 2007, 11:54
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 20-01-05
Из: Зеленоград
Пользователь №: 2 070



Цитата
Что нужно сделать?

1. Прочитать документацию на компилятор и линкер, особое внимание уделить сегментам, глава Placing code and data.
2. Описать в XCL-файле свой сегмент с нужными границами, поправив границы других сегментов.
3. Объявить свою переменную в нужном сегменте, см. #pragma segment="имя сегмента".
4. Уяснить разницу между словами flesh (плоть) и flash (вспышка).
Go to the top of the page
 
+Quote Post



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

 


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


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