-
- так не получится, если компилятор скомпилирует ваш бутлоадер заодно с обновляемой прошивкой, потроха бутлоадера окажутся с ней перемешаны и при стирании основной прошивки бутлоадер работать перестанет - AlexG(23.12.2018 18:34)
- это я чувствую, потому банке 2 будет полноценная программа бутлодера, независящая от основной программы. Макет такого бута у меня уже получился по адресу 0x08020000. В принципе надо просто скакнуть из основной программы туда в какой-то момент. :-) - Лагунов(23.12.2018 18:59)
- По-хорошему загрузчик должен быть там, где умолчальная таблица векторов. Иначе растёт риск превращения устройства в тыкву в процессе обновления. - s_h_e(23.12.2018 20:24)
- если у меня будут запрещены все прерывания, то не понадобится трогать таблицу векторов? В принципе при записи флэш (беря байты из ОЗУ или к примеру из SPI EEPROM) прерывания мне и не нужны. - Лагунов(24.12.2018 08:59)
- С одной стороны - да, вектора не нужны. А с другой стороны, как прошивка окажется в ОЗУ или в еепром? приложение закачает? а если оно битое? - VLLV(24.12.2018 09:06)
- вот сейчас как раз пробую скачать файл из USB disk, полностью его проверяю, сохраняю в SPI EEPROM (может еще и дублирую, место есть). До этого момента пользуюсь всеми ресурсами старой прошивки. После того, как всё идеально, запрещаю все Лагунов(140 знак., 24.12.2018 12:21)
- 1) Произойдет сбой питания во время прошивки. 2) Второпях во время очередных коррекций приложения произошла ошибка, не позволяющая подготовить данные. - VLLV(24.12.2018 12:48)
- так масса перепрошиваемых устройств всегда про это (отключение питания) верещат, предупреждают. Тут уж как не повезет. - Лагунов(24.12.2018 13:22)
- 1) Произойдет сбой питания во время прошивки. 2) Второпях во время очередных коррекций приложения произошла ошибка, не позволяющая подготовить данные. - VLLV(24.12.2018 12:48)
- вот сейчас как раз пробую скачать файл из USB disk, полностью его проверяю, сохраняю в SPI EEPROM (может еще и дублирую, место есть). До этого момента пользуюсь всеми ресурсами старой прошивки. После того, как всё идеально, запрещаю все Лагунов(140 знак., 24.12.2018 12:21)
- С одной стороны - да, вектора не нужны. А с другой стороны, как прошивка окажется в ОЗУ или в еепром? приложение закачает? а если оно битое? - VLLV(24.12.2018 09:06)
- Ежели поциент не просчитал риски превращения в кирпич, так поциенту и надо. - SciFi(23.12.2018 20:28)
- если у меня будут запрещены все прерывания, то не понадобится трогать таблицу векторов? В принципе при записи флэш (беря байты из ОЗУ или к примеру из SPI EEPROM) прерывания мне и не нужны. - Лагунов(24.12.2018 08:59)
- и что, полноценная программа загрузки получилась без вложеных функций? - VLLV(23.12.2018 20:15)
- да нет конечно, это так - теоретически. :-). - Лагунов(23.12.2018 20:21)
- По-хорошему загрузчик должен быть там, где умолчальная таблица векторов. Иначе растёт риск превращения устройства в тыкву в процессе обновления. - s_h_e(23.12.2018 20:24)
- это я чувствую, потому банке 2 будет полноценная программа бутлодера, независящая от основной программы. Макет такого бута у меня уже получился по адресу 0x08020000. В принципе надо просто скакнуть из основной программы туда в какой-то момент. :-) - Лагунов(23.12.2018 18:59)
- а вы уверены что смогете что либо записать (не затерев всю флеш) в 1 банк при залоченном проце ?? - Aleksey_75(23.12.2018 18:22)
- да пока в своих поделках ничего не залочивал. :-) Так-то флэш пописывал помаленьку (константы), стирая страницы. - Лагунов(23.12.2018 18:33)
- Это не так делается. Нужно 2 прошивки: загрузчик и основная программа. - SciFi(23.12.2018 17:54)
- Да, это самый правильный вариант. Бутлоадер размещается в памяти FLASH с нулевым смещением, основная прошивка размещается в памяти со смещением. evgeniy1294(666 знак., 23.12.2018 18:12 - 18:20)
- и как это переключать? Необходимо из меню устройства перейти в загрузчик, считать с флэшки новую прошивку, прошить и перезапуститься. Или тут подразумевается при каждом включении проверять наличие флэшки с обновлением? - Лагунов(23.12.2018 18:26)
- Например проверить прошивку на флешке, записать куда-нибудь флаг для загрузчика, перезапуститься. Загрузчик сам читает прошивку и обновляет. Как-то так. - s_h_e(23.12.2018 18:30)
- да, вариант. Надо смотреть. Спасибо. - Лагунов(23.12.2018 18:31)
- Например проверить прошивку на флешке, записать куда-нибудь флаг для загрузчика, перезапуститься. Загрузчик сам читает прошивку и обновляет. Как-то так. - s_h_e(23.12.2018 18:30)
- и как это переключать? Необходимо из меню устройства перейти в загрузчик, считать с флэшки новую прошивку, прошить и перезапуститься. Или тут подразумевается при каждом включении проверять наличие флэшки с обновлением? - Лагунов(23.12.2018 18:26)
- Да, это самый правильный вариант. Бутлоадер размещается в памяти FLASH с нулевым смещением, основная прошивка размещается в памяти со смещением. evgeniy1294(666 знак., 23.12.2018 18:12 - 18:20)
- так не получится, если компилятор скомпилирует ваш бутлоадер заодно с обновляемой прошивкой, потроха бутлоадера окажутся с ней перемешаны и при стирании основной прошивки бутлоадер работать перестанет - AlexG(23.12.2018 18:34)