Charoit 0 1 февраля, 2010 Опубликовано 1 февраля, 2010 · Жалоба Кстати, в файле pgmspace.h есть макроопределения для чтения памяти данных - pgm_read в разных вариантах.. А как писать в память данных? :rolleyes: Ничего похожего в pgmspace.h я не нашел:( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Палыч 9 1 февраля, 2010 Опубликовано 1 февраля, 2010 · Жалоба А как писать в память данных? :rolleyes: Ничего похожего в pgmspace.h я не нашел :(Наверное, вопрос был всё же о памяти программ? В эту память абы-откуда писать не получиться. Поэтому и смотреть нужно в файле boot.h Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Charoit 0 1 февраля, 2010 Опубликовано 1 февраля, 2010 · Жалоба Наверное, вопрос был всё же о памяти программ? В эту память абы-откуда писать не получиться. Поэтому и смотреть нужно в файле boot.h Тьфу, блин, конечно о памяти программ.. Спасибо, буду смотреть boot.h. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Charoit 0 10 февраля, 2010 Опубликовано 10 февраля, 2010 (изменено) · Жалоба Не получается писать в память программ:( Для начала решил просто стереть страницу - и это не работает.. Обязательно ли макросы boot_page_erase должны находиться в области загрузчика? Вызываемая функция выглядит вот так : 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; } Изменено 10 февраля, 2010 пользователем rezident Оформление цитаты исходника. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Палыч 9 11 февраля, 2010 Опубликовано 11 февраля, 2010 · Жалоба Не получается писать в память программ. Обязательно ли макросы boot_page_erase должны находиться в области загрузчика?Да, обязательно. Прочитайте в DS про RWW и NRWW секции. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться