реклама на сайте
подробности

 
 
> Проблема с Bootloader, не меняется flash память
stapleman
сообщение Nov 9 2008, 08:11
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 64
Регистрация: 9-11-08
Пользователь №: 41 482



Написал в WINAVR bootloader для меги8. По усарту принимаю данные и пишу их в flash (это как должно быть).
А в реальность flash не меняется как я не пытался ее изменить.
Подскажите, пожалуйста, что я забыл сделать.

// flash заполняю так
void BootFlashPage(uint32_t page, uint8_t *buf){
boot_page_erase(page); // стирание страницы
boot_spm_busy_wait(); // ждать окончание стирания

for(uint8_t i = 0; i < BootPageSize; i += 2){
uint16_t Data =0;// *buf++; // формирование слова данных
Data |=0;// (*buf++) << 8; // формирование слова данных
boot_page_fill(page + i, Data); // записать в буфер bootloader-а
}

boot_page_write(page); // запись страницы во FLASH
boot_spm_busy_wait(); // ждать окончания записи
}

после этого пишу
boot_rww_enable();

считываю flash программатором и своими глазами вижу, что состояние памяти не изменилось
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
stapleman
сообщение Nov 10 2008, 20:09
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 64
Регистрация: 9-11-08
Пользователь №: 41 482



Спасибо, Сергей.
Заработало.
Как обычно виновата моя чертова невнимательность.
В общем ошибка заключалась в следующем: передатчик 485 включается и выключается портом меги. В программе загрузчика я "естественно" забыл инициализировать этот порт и "благодаря" помехам передатчик был открыт. Программа загружалась в меги и начинала выполняться. В ней я порт инициализировал и передатчик закрывался (я что ему зря работать). А при переходе в загрузчик он там не открывался, ответные команды не шли и я думал, что в загрузчик вообще программа не заходит.

В итоге все три способа (включая Ваш) попадания в загрузчик я опробовал, все работают.
Go to the top of the page
 
+Quote Post
GRJ
сообщение Jan 28 2010, 03:21
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 30-07-08
Пользователь №: 39 306



Цитата(stapleman @ Nov 11 2008, 00:09) *
В итоге все три способа (включая Ваш) попадания в загрузчик я опробовал, все работают.

А не могли бы исходник выложить? А то я тоже с bootloader'ом для меги8 мучаюсь.

Сообщение отредактировал rezident - Jan 28 2010, 13:08
Причина редактирования: Нарушение п.3.4 Правил форума.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 19:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.01384 секунд с 7
ELECTRONIX ©2004-2016