Необходимо иметь возможность обновлять микрокод мк через последовательный интерфейс. Для экономии места в мк (МЕГА8) хочу сделать так: функции отвечающие за протокол связи должны находиться в области загрузчика как и вектора прерываний. За размещение векторов в области загрузчика отвечает fuse. Это понятно. За размер загрузчика др. fusы. Как указать IARу новое место расположения векторов? Было так: #pragma vector=USART_TXC_vect __interrupt void my_USART_TXC_vect(void) { .... Должно быть так: #pragma vector=0xС1A __interrupt void my_interrupt_handler(void) {.... или как то еще можно задать?
Далее. Надо указать место размещения некоторых функций в области загрузчика. #pragma location="MYSEGMENT" void f() @ "MYSEGMENT"; void g() @ "MYSEGMENT" { } Так? MYSEGMENT=FLASH_END-BOOT_LOADER_SIZE , Где BOOT_LOADER_SIZE размер загрезчика в словах?
И как на Си будут выглядеть команды стирания страниц и загрузки буфера?
--------------------
OrCAD, Altium,IAR, AVR....
|