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

 
 
> размещение переменной по фиксированному адресу, Keil
*SERG
сообщение Feb 20 2008, 11:41
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 274
Регистрация: 10-08-05
Из: Екатеринбург
Пользователь №: 7 517



Пишу в KEIL (не долго), очень нужно указать переменной по какому адресу ей располагаться. В СИ вроде таких функций нет, только указатели, но они делают "обратное". Каким образом поступить? Может линкеру как то указать, где расположить переменную? Или асм вставку?Помогите плиз help.gif

ЗЫ. раньше видел такие темы, но щас найти не смог и поиск по форуму молчит.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
VAI
сообщение Feb 20 2008, 13:29
Сообщение #2


Профессионал
*****

Группа: Модераторы
Сообщений: 1 120
Регистрация: 17-06-04
Пользователь №: 37



Цитата
очень нужно указать переменной по какому адресу ей располагаться

Вот цитата из имеющегося у Вас файла ...\Keil\ARM\Hlp\Release_Notes.htm
Цитата
Added __at keyword that allows to locate constants on absolute addresses.

C Example: The following example will locate a section to address 0x1F00:
Код
#include <absacc.h>

const char MyText[] __at (0x1F00) = "TEXT AT ADDRESS 0x1F00";

Assembler Example: In assembler files you may define the location using section names composed of |.ARM.__AT_<addr>|. The following example will locate a section to address 0xFFE0:
Код
     AREA |.ARM.__AT_0xFFE0|, CODE, READONLY

Откройте этот файл и посмотрите, там в изменениях на версию 3.03а это написано.
Это может быть Вам отправной точкой для дальнейшего поиска более подробной информации в документации, хотя то, о чем Вы спрашивали, уже имеется в примере.
Можно поискать в ...\Keil\ARM\Hlp\armccref.chm по ключевому слову __at


--------------------
Если зайца бить, его можно и спички научить зажигать
Сколько дурака не бей - умнее не будет. Зато опытнее
Go to the top of the page
 
+Quote Post



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

 


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


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