Всем привет!
Пишу свою прошивку. Кстати, что такое «своя прошивка»? Это писать совсем свою с нуля или как я, используя SDK?
Пишу в Eclipse под win.
Подошел к вопросу реализации OTA и конкретно застрял. Стандартная процедура OTA мне не подошла по нескольким причинам. Решил написать свою.
Eclipse создает два файла 0x00000.bin и 0x40000.bin, которые нужно записать по соответствующим адресам во флеш.
На сейчас, моя прошивка умеет взять эти два файла с web сервера, записать их в свободное место флеш и проверить контрольную сумму.
Казалось бы, осталось самое простое – скопировать новые файлы прошивки из временного места на свое место по адресам 0x00000 и 0x40000.
Если копирование первого файла (он короткий) проблем не вызывает, то на втором происходит либо зависание либо срабатывает WDT.
Как я понимаю, во время копирования, происходят обращения к флеш, что и приводит к зависанию.
Может кто-то подсказать, как правильно реализовать перезапись прошивки?
Особенно, прошу совета у vad7 т.к. я просмотрел код Rapid_Loader_OTA и понял, что мне нужно реализовать нечто подобное. Но как заставить код копирования флеш выполниться при загрузке я не понимаю.
Всем заранее спасибо за советы.
Пишу свою прошивку. Кстати, что такое «своя прошивка»? Это писать совсем свою с нуля или как я, используя SDK?
Пишу в Eclipse под win.
Подошел к вопросу реализации OTA и конкретно застрял. Стандартная процедура OTA мне не подошла по нескольким причинам. Решил написать свою.
Eclipse создает два файла 0x00000.bin и 0x40000.bin, которые нужно записать по соответствующим адресам во флеш.
На сейчас, моя прошивка умеет взять эти два файла с web сервера, записать их в свободное место флеш и проверить контрольную сумму.
Казалось бы, осталось самое простое – скопировать новые файлы прошивки из временного места на свое место по адресам 0x00000 и 0x40000.
Если копирование первого файла (он короткий) проблем не вызывает, то на втором происходит либо зависание либо срабатывает WDT.
Как я понимаю, во время копирования, происходят обращения к флеш, что и приводит к зависанию.
Может кто-то подсказать, как правильно реализовать перезапись прошивки?
Особенно, прошу совета у vad7 т.к. я просмотрел код Rapid_Loader_OTA и понял, что мне нужно реализовать нечто подобное. Но как заставить код копирования флеш выполниться при загрузке я не понимаю.
Всем заранее спасибо за советы.
Последнее редактирование: