SpiritDance 0 28 декабря, 2006 Опубликовано 28 декабря, 2006 · Жалоба Люди! Насколько я понимаю эта функция существует для возможности использовать прерывания в загрузчике. Как потом запусить корректно программу, то есть сделать так чтобы запускались обработчики самой программы. Где вообще про это все почитать поподробнее, никак немогу найти , помню просто что такое было что-то?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IEC 0 28 декабря, 2006 Опубликовано 28 декабря, 2006 · Жалоба Атмеловский док - AVR109: Self Programming. На форуме эту тему рассматривают часто! В загрузчике вектора устанавливаются следующим образом: /* Разрешение изменения векторов прерываний */ /* Перемещение векторов в загрузочной сектор флэш-памяти */ MCUCR = 0x01; // MCUCR |= (1<<IVCE); MCUCR = 0x02; // MCUCR |= (1<<IVSEL); Переход из загрузчика в тело программы: JMPCODE(0x0000); В теле программы возврат векторов: /* Разрешение изменения векторов прерываний */ /* Перемещение векторов ив загрузочного сектора флэш-памяти */ MCUCR = 0x01; // MCUCR |= (1<<IVCE); MCUCR = 0x00; // MCUCR |= (1<<IVSEL); Еще один момент: В процессе программирования FLASH обязательно отключать прерывания и WDтаймер. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 28 декабря, 2006 Опубликовано 28 декабря, 2006 · Жалоба Переход из загрузчика в тело программы: JMPCODE(0x0000); В теле программы возврат векторов: /* Разрешение изменения векторов прерываний */ /* Перемещение векторов ив загрузочного сектора флэш-памяти */ MCUCR = 0x01; // MCUCR |= (1<<IVCE); MCUCR = 0x00; // MCUCR |= (1<<IVSEL); Такой подход имеет один недостаток - "основная" программа должна знать, что работает совместно с загрузчиком. Если же обратное переключение таблицы мы перенесем в загрузчик, то единственой особенностью "основной" программы останется огнраничение по размеру: __disable_interrupt(); MCUCR = 0x01; // MCUCR |= (1<<IVCE); MCUCR = 0x00; // MCUCR |= (1<<IVSEL); (void (*)())0x0000(); Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IEC 0 28 декабря, 2006 Опубликовано 28 декабря, 2006 · Жалоба Можно рассматривать и такой вариант реализации! Наверное он лучше! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться