Цитата(CADiLO @ Jan 26 2018, 16:16)
Элементарно - предусматриваете команду контроллеру по которой он начнет принимать прошивку и складывать ее в буферную память.
По окончании загрузки этот же контроллер по UART перешьет модуль.
...
Кроме того вам ведь захочется иногда и контроллеру программу обновить.
Новые фичи или там ошибка всплывет. Вот буфер и пригодится - обновляя "на лету" можно из-за сбоя вообще устройство в кирпич превратить.
Если Вы под "буферной памятью" имеете в виду некий буфер в энергонезависимой памяти моего устройства, то естественно - такой есть, предусмотрен. И да, естественно - он используется для обновления прошивки и главного МК устройства. Именно так всегда и использовал его - только загрузка
полностью новой прошивки в него, и только потом старт обновления прошивки главного МК или любого свЯзного модуля. Чтобы при любом передёргивании питания в любой фазе обновления прошивки ничего не превратилось в кирпич (в главном МК и во всех свЯзных модулях есть необновновляемые бутлоадеры).
И этот же буфер я хотел бы использовать и для накопления/хранения принятой по рабочему протоколу прошивки SIM808.
Это понятно, но после того как прошивка полностью принята, дальше я даю RESET SIM808 и начинаю посылать ему прошивку из этой буферной памяти согласно протокола описанного в
SIM800 Series_Software Upgrade_Application Note_V1.04.pdf (раздел "Upgrade Process").
Так вот, из Ваших сообщений я понял, что в процессе этой передачи прошивки, в какой-то момент модуль может поменять baudrate по UART? И если ПО прошивальщика на компе (при перешивке по UART с компа) знает когда нужно поменять скорость, то МК так сделать не может.
Или всё-таки baudrate во время процедуры "Upgrade Process" не меняется?