Например TDA7294

Форум РадиоКот • Просмотр темы - Бутлоадер
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 23, 2024 17:30:13

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 23 ]    , 2
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Бутлоадер
СообщениеДобавлено: Пт июн 22, 2018 22:23:20 
Опытный кот

Карма: 4
Рейтинг сообщений: 81
Зарегистрирован: Пн апр 11, 2011 10:08:52
Сообщений: 844
Рейтинг сообщения: 0
Согласен, оказывается это не NOD32 ругается, а Мозила!
Вот Хром что выводит:
Изображение
А вот IE11 загружает без проблем ;)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Бутлоадер
СообщениеДобавлено: Сб июн 30, 2018 21:16:12 
Встал на лапы

Карма: 2
Рейтинг сообщений: 2
Зарегистрирован: Ср мар 25, 2015 09:12:45
Сообщений: 99
Рейтинг сообщения: 0
Всем добрый день!

Ну в общем, получилось, запустил, и пробовал через удаленку.

Всего реализация этого хозяйства прошла в 3 этапа.

1. сам бут расположил в конце процессора, парвые 4 байта начала процессора - команда перехода на БУТ, откуда в зависимости от настроек активации либо активируется, либо возвращает управление в офсет 4-начало основного кода.
Команду перехода состряпал вручную, бут выполнен в виде отдельного проекта, сшил это все вместе посредством программы товарища -=vovka=-. Естественно, в БУТе потребовалось реализовать в упрощенном виде функции работы с NOR и SPI из основного проекта, и конфигурационные слова должны совпадать с основным проектом, поскольку в процессе сшивки ХЕКСов конф. слова одного из проектов потребовалось вырезать.
Баг получился один... управление надо передавать не оттуда откуда получена команда, а из главного цикла, во избежание переполнения стека.

2 этап, подготовка образа для заливки и сама заливка. Оказалась что приведенная программа hex2bin это как раз то, что нужно. Остальное дело техники - после получения блока через UDP процессор перечитывает записанный блок и возвращает его ЦРЦ, передающей программе только остается сверять ЦРЦ и контролировать что все блоки подлежащие отправке прошли верификацию доставки. Практически, если бы не это, то конечно велика вероятность получить "кирпич" - в реальной сети 4-6 ретрансмиссий это норма. Запись на данном этапе идет не в процессор, а во внешнюю флешь.
В финале, отпаял флешь, и прочитал содержимое SPI-программатором, далее посредством WinHEXa из скачанного дампа извлек тот участок в который предполагалась запись. Проверка показала, что ЦРЦ отправляемого BINа и содержимого флеши совпало. Ура!

3. - это освоение TABLE WRITE. В этом процессе очень помог даташит от процессора 18F452, который есть русский. Это конечно сильно не то, 26К22 сильно отличается, но не принципиально. Снял code protect и PICKITом читал что получается. примеров в сети достаточно, и приведенные примеры в даташите исчерпывающи. Получилось не сразу, точнее писало, но не в ту позицию. Ошибка была в том, что отсутствовала команда TBLRD*-, и позиция смещалась.
Ну а потом, завелось. Еще нужно оттестировать что да как делать, если я хочу избежать полного падения системы в случае отключения света, насколько это вообще возможно, но в рамках вопроса этой темы - ПОЛУЧИЛОСЬ!
Поездил по точкам, прошил, из центра заливка работает.



Напрашивается последний вопрос, а чем лучше зашифровать бинарник?


Вернуться наверх
 
В сети
 Заголовок сообщения: Re: Бутлоадер
СообщениеДобавлено: Ср июл 25, 2018 12:53:35 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14062
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Разговор не о процессе доставки/верификации кода, а в случае со сбоем в процессе перепрошивки.
Допустим тот же сбой питания при самопрограммировании в удаленном устройстве.
Посему "удаленная" система должна иметь минимум две однотипные рабочие области.
Затирание предшествующей производится исключительно по корректному завершению процесса перепрошивки новой версии.
В случае сбоя управление возвращается предшествующей версии ПО для повтора перезагрузки/приема измененной версии кода.
Как наиболее простой вариант -- внешний накопитель кода и перезапускаемый в случае ошибки бутлоадер.
:roll:


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 23 ]    , 2

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y