Народ подскажите как в IAR2.28 работать с intrinsic функциями для работы с BootLoader’ром , перекурил весь datasheet на AVR IAR C Compiller и на Atmega8 там нет ничего , а интересует вот что:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено JTAG 26 августа 2003 г. 14:34

В include файле inavr.h есть такие функции:
/* SPM */
__intrinsic void __DataToR0ByteToSPMCR_SPM(unsigned char data,
unsigned char byte);
__intrinsic void __AddrToZByteToSPMCR_SPM(void __flash* addr,
unsigned char byte);
__intrinsic void __AddrToZWordToR1R0ByteToSPMCR_SPM(void __flash* addr,
unsigned short word,
unsigned char byte);
И вот такие:
#define _SPM_ERASE(Addr) \
__AddrToZByteToSPMCR_SPM((void __flash*)(Addr), 0x03)

#define _SPM_FILLTEMP(Addr,Data) \
__AddrToZWordToR1R0ByteToSPMCR_SPM((void __flash*)(Addr), (Data), 0x01)

#define _SPM_PAGEWRITE(Addr) \
__AddrToZByteToSPMCR_SPM((void __flash*)(Addr), (0x05))

Как с этими функциями работать? Может есть какая нибудь AppNot’a?
Также остались непонятными следующие вопросы:
1).Каким образом в IAR пишется BootLoader в виде отдельной программы или в программе приложения?
2).Каким образом сказать IAR чтобы он разместил BootLoader в BootLoader Section (NRWW)?
3).Как от программы BootLoader передается управление в программу приложения?
4).Как узнать какие блоки памяти заняты программой приложения а в какие можно разместить данные? Какие страницы памяти заняты и их адреса.
5). Как передать управление BootLoader’y , скажем по приходу данных по USART?

Эти вопросы приминительно к IAR C 2.28, Как это делается на ASMе боле мене понятно.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru