Перейти к содержанию
    

ATMega: Bootloader & LOCKBITs

Приветствую! Ситуация следующая: ATMega1281, Написал BootLoader. BOOTSZ=01, соотвесно код начинается с адреса 0x1F800. Прошиваю, ставлю LOCKBIT BLB1 Mode 3 - запрет SPM и LPM в BootSection.

Далее BootLoader пишет рабочую программу с адреса 0x0000 скажем по адрес 0x48FF и потом пытается записать одну страницу с контрольной суммой по адресу 0x1F700, т.е. предыдущую началу BootSection. Результатом является запись на странице по адресу 0x4900, хотя адрес записи указываю как константу.

    __AddrToZ24ByteToSPMCR_SPM((void __farflash *)0x1F700, 0x05);

Максимальный адрес по которому страница пишется правильно - это 0x1EF00.

    __AddrToZ24ByteToSPMCR_SPM((void __farflash *)0x1EF00, 0x05); // program

Возникает странный промежуток c 0x1EF00 по 0x1F800 где SPM пишет страницу по неверному адресу. Если LOCKBIT - неактивны, т.е. защиты нет, то всё нормально.

Пробовал сделать BOOTSZ=00, начало BootSection - 0x1F000 - ситуация повторяется. При LOCKBIT BLB1 Mode 3 максимальный адрес на который пишется страница - 0x1E700. Опять странный промежуток.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если чем-то поможет:

на m128 и m162 с такими параметрами LOCK'ов как у Вас запись в NRWW работает правильно.

 

 

Опять странный промежуток.

Может где-то ошибка с адресами.

 

PS: Хотел приатачить пример, да что-то форум не дает :( или у меня эксплорер выступает...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

90196fe4846e.png

 

При BOOTSZ=01 адрес начала BLS равен (0xF800 в словах)*2 = 0x1F000 в байтах от начала flash.

При BOOTSZ=00 адрес начала BLS равен (0xF000 слов)*2 = 0x1E000 в байтах от начала flash.

 

А у вас не так :unsure:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...