Не получается писать в память программ

Для начала решил просто стереть страницу - и это не работает..
Обязательно ли макросы boot_page_erase должны находиться в области загрузчика?
Вызываемая функция выглядит вот так :
CODE
void boot_program_page (uint16_t page)
{
uint8_t sreg;
// Disable interrupts.
sreg = SREG;
cli();
eeprom_busy_wait ();
boot_page_erase (page);
boot_spm_busy_wait (); // Wait until the memory is erased.
// Reenable RWW-section again. We need this if we want to jump back
// to the application after bootloading.
boot_rww_enable ();
// Re-enable interrupts (if they were ever enabled).
SREG = sreg;
}
Сообщение отредактировал rezident - Feb 10 2010, 16:16
Причина редактирования: Оформление цитаты исходника.