Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Запись во flash
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
bureau
В Keil-e есть пример работы с флешь:
Код
char xdata * data pwrite;           // FLASH write pointer
pwrite = (char xdata *) addr;
*pwrite = byte;                     // write the byte

Пробую это переделать под IAR:
Код
char __xdata * __data pwrite;    // FLASH write pointer
pwrite = (char __xdata *) addr;
*pwrite = byte;                     // write the byte


В результате имею ошибку:
memory attributes not allowed on auto variables or parameters
Данный кусок кода находится в отдельной функции и делать указатель "pwrite" глобальным -- не очень то и красиво будет...
Может кто знает какие пути решения?
DpInRock
static
Сергей Борщ
Цитата(bureau @ Mar 18 2014, 21:54) *
memory attributes not allowed on auto variables or parameters

Попробуйте так:
Код
char __xdata * pwrite;    // FLASH write pointer
pwrite = (char __xdata *) addr;
*pwrite = byte;                     // write the byte

Компилятор в самом деле лучше знает, куда ему удобнее разместить автоматические переменные.
bureau
Да, так работает. Спасибо!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.