Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Внешняя память данных и IAR
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
LoLo
К контроллеру Mega64 подключена внешняя память данных.
Как в IAR записать байт во внешнюю память по определенному адресу, а также считать байт по определенному адресу.
В Keil это делается очень просто через XDATA.

А как сделать в IAR?
VladislavS
Код
//8К расположены по адресу 0x8000
#pragma location=0x8000
volatile __no_init unsigned char mem[8192];


Ну и компилятору намекнуть
Нажмите для просмотра прикрепленного файла
Kavlav
Цитата(LoLo @ Aug 19 2011, 12:14) *
К контроллеру Mega64 подключена внешняя память данных.
Как в IAR записать байт во внешнюю память по определенному адресу, а также считать байт по определенному адресу.
В Keil это делается очень просто через XDATA.

А как сделать в IAR?

По правильному это делается так. В папке ...Iar Systems...\avr\config находите подходящий конфигурационный файл для линкера, например lnkm64s.xcl. В этом фале и прописываются все сегменты, стеки и т.д. В нем есть подробные коментарии, разобраться будет просто.
VladislavS
Это если надо чтобы линкер какие-нибудь сегменты, кучу например, размещал во внешней памяти. Задача автора читать/писать байт по абсолютному адресу. Для этого либо переменная размещается по абсолютному адресу и используется как переменная
Код
#pragma location=0x8000
volatile __no_init unsigned char var;

Либо можно по указателю доступ делать
Код
unsigned char *mem = 0x8000;
*mem = *mem;

Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.