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

 
 
> Как создать переменную с фиксированным адресом, Cortex-M3 проект в RVDS 3.1
-=Sergei=-
сообщение Aug 27 2008, 05:22
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 339
Регистрация: 26-10-04
Пользователь №: 985



Как создать переменную с фиксированным адресом, т.е. что бы некоторому регистру в области периферии была сопоставлена переменная с адресом этого регистра ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sergeeff
сообщение Aug 27 2008, 05:49
Сообщение #2


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

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Так как, например, это делает Atmel:

typedef volatile unsigned int AT91_REG;// Hardware register definition

typedef volatile struct _AT91S_MC {
AT91_REG MC_RCR; // MC Remap Control Register
AT91_REG MC_ASR; // MC Abort Status Register
AT91_REG MC_AASR; // MC Abort Address Status Register
AT91_REG Reserved0[1]; //
AT91_REG MC_PUIA[16]; // MC Protection Unit Area
AT91_REG MC_PUP; // MC Protection Unit Peripherals
AT91_REG MC_PUER; // MC Protection Unit Enable Register
} AT91S_MC, *AT91PS_MC;

#define AT91C_BASE_MC ((AT91PS_MC) 0xFFFFFF00) // (MC) Base Address

Таким образом задается базовый адрес структуры, а конкретный регистр : AT91C_BASE_MC->AT91_REG MC_ASR

Но можно и просто:

#define AT91C_MC_ASR ((AT91_REG *) 0xFFFFFF04) // (MC) MC Abort Status Register

Кому как больше нравится
Go to the top of the page
 
+Quote Post



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

 


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


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