Перейти к содержанию
    

Внешняя память данных и IAR

К контроллеру Mega64 подключена внешняя память данных.

Как в IAR записать байт во внешнюю память по определенному адресу, а также считать байт по определенному адресу.

В Keil это делается очень просто через XDATA.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

//8К расположены по адресу 0x8000
#pragma location=0x8000
volatile __no_init unsigned char mem[8192];

 

Ну и компилятору намекнуть

post-4140-1313759857_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

К контроллеру Mega64 подключена внешняя память данных.

Как в IAR записать байт во внешнюю память по определенному адресу, а также считать байт по определенному адресу.

В Keil это делается очень просто через XDATA.

 

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

По правильному это делается так. В папке ...Iar Systems...\avr\config находите подходящий конфигурационный файл для линкера, например lnkm64s.xcl. В этом фале и прописываются все сегменты, стеки и т.д. В нем есть подробные коментарии, разобраться будет просто.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это если надо чтобы линкер какие-нибудь сегменты, кучу например, размещал во внешней памяти. Задача автора читать/писать байт по абсолютному адресу. Для этого либо переменная размещается по абсолютному адресу и используется как переменная

#pragma location=0x8000
volatile __no_init unsigned char var;

Либо можно по указателю доступ делать

unsigned char *mem = 0x8000;
*mem = *mem;

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...