Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Sim800C не понимаю как прошить
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
Radi0
Доброй ночи уважаемые.
Пытаюсь прошить модуль через com port пробрасывая порт через AVR контроллер.
Запускаю SIM800_Series_download_Tools_Customer_v1.10 жму StartDownload(прошивку 1418B08SIM800C32_BT_EAT.RAR скачал с simcom.ee ), подаю питание на sim800с прижав перед этим PWERKEY к земле.
Дальше проходит операция DA и всё затыкается на BL на ошибке S_FT_DOWNLOAD_FAIL(4008).

Подскажите пожалуйста куда копать?
CADiLO
Ну идеально не заморачиваться с COM, а использовать предназначенный для этого USB.
Во вторых - модуль после загрузки лоадера будет сам менять скорость по своему разумению и вариант "пробрасывая порт через AVR контроллер" может не работать.
В третьих - прошивка точно от этого типа памяти? А то как бы в SIM800C24 не зальется прошивка от SIM800C32
Ну и последнее - согласование уровней, качество кабеля и прочие мелочи тоже важны.

Кстати ошибка 4008 легко гуглится, так как флешер тот же самый что и для мобилок на МТК чипсетах.
sm.gif
jcxz
Цитата(CADiLO @ Jan 9 2018, 13:41) *
В третьих - прошивка точно от этого типа памяти? А то как бы в SIM800C24 не зальется прошивка от SIM800C32

А модуль при приёме прошивки проверяет её на совместимость типа модуля? Грубо говоря: что будет если в SIM808 попытаться прошить firmware от SIM800L? При одинаковом размере флеша.
Alechek
Цитата(Radi0 @ Jan 6 2018, 05:21) *
Доброй ночи уважаемые.
Пытаюсь прошить модуль через com port пробрасывая порт через AVR контроллер.
Подскажите пожалуйста куда копать?


Прошивал 800ю серию пробрасывая порт.
Столкнулся с граблями:
1. В виде недоработок своего CDC:
- пакеты посылаются большие, надо чтобы все работало четко.
- таймауты никто не отменял, программописатели прошивальщиков не обязательно делают все по документации, а, как правило, лишь бы работало. Таймауты по компорту практически никогда не настраивают. И миллисекунды начинают играть роль.
2. На Win8, Win10 все работает, на WinXP-Win7 - также висит после DA. Перебор вех возможных вариантов usbser.sys на WinXP не помог.
jcxz
Цитата(Radi0 @ Jan 6 2018, 02:21) *
Подскажите пожалуйста куда копать?

SIM800 Series_Software Upgrade_Application Note_V1.04.pdf вроде описывает процедуру загрузки прошивки. Пробовали сравнивать с ним свой процесс?
psL
Цитата(jcxz @ Jan 10 2018, 21:10) *
SIM800 Series_Software Upgrade_Application Note_V1.04.pdf вроде описывает процедуру загрузки прошивки. Пробовали сравнивать с ним свой процесс?

через ж у симкома обновление прошивки работает, поэтому посылают всех на usb))
Жаль - нужная функция.
Интересно, кто-нибудь вообще реализовал внутрисхемное обновление прошивок?
CADiLO
У нас все крупные клиенты реализовали дистанционное обновление модулей.
Прошивка берется или с FTP или отправляется прямо на модуль.
Запихивается в буферную флешку и контроллер после проверки чексумм прошивает модуль.

>>>> через ж у симкома обновление прошивки работает

Чудесно шьется как по UART, так и по USB.
Ссылка на доку которую вам дали - для разработки своего внутрисхемного FOTA прошивальщика.

А дока для прошивки с компа называется - SIM800х_Standard_FW_Download Tool
С компа цепляемся или через UART, или на USB - но не "прокидываем" через контроллер, а выводим с модуля 5 пинов для подключения.
Что нужно для прошивки, я еще с времен SIM300 разжевывал неоднократно - пользуемся поиском по форуму.
Контроллер в Reset чтобы не мешал и вперед шить.
jcxz
Цитата(CADiLO @ Jan 26 2018, 13:16) *
>>>> через ж у симкома обновление прошивки работает
Чудесно шьется как по UART, так и по USB.
Ссылка на доку которую вам дали - для разработки своего внутрисхемного FOTA прошивальщика.

Если, как Вы написали выше: "модуль после загрузки лоадера будет сам менять скорость по своему разумению" (лоадер - это та часть прошивки, которая загружается первой?) - то это и есть "через ж" - полностью согласен. Зачем скорость менять-то??
А как быть если нужно обновлять прошивку на устройстве у заказчика, канал к устройству есть (штатный канал связи, по которому устройство общается с внешним миром по своему протоколу), но канала к какому-либо FTP у самого модуля нет? Т.е. - обновить нужно по тому же UART, по которому идёт штатная работа.
Разрабатывали много таких устройств, перешивали встроенные связные модули ZigBee, RF, PLC и т.п. по тому же самому интерфейсу, по которому они штатно подключены, ничего не вынимая и не выключая - вот это нормально, не "через ж".
Вы написали что новую прошивку можно записать в некую "буферную флешку". Это что - надо какую-то ещё дополнительную флешку к модулю подключать или Вы имели в виду ФС внутри модуля?

PS: Изучаю вопрос предварительно, так как планирую использовать модули SIMCOM в новом изделии и было бы неплохо иметь прошивку модуля через штатный канал связи (штатный канал связи будет организован этим модулем).
CADiLO
>>>- то это и есть "через ж" - полностью согласен. Зачем скорость менять-то??

Этот вопрос не к SIMCOM - такой алгоритм прошивки у всех модулей и телефонов с чипсетами МТК. Поэтому вопрос к производителям чипсетов.


>>>А как быть если нужно обновлять прошивку на устройстве у заказчика, канал к устройству есть (штатный канал связи, по которому устройство общается с внешним миром по своему протоколу), но канала к какому-либо FTP у самого модуля нет? Т.е. - обновить нужно по тому же UART, по которому идёт штатная работа.

Элементарно - предусматриваете команду контроллеру по которой он начнет принимать прошивку и складывать ее в буферную память.
По окончании загрузки этот же контроллер по UART перешьет модуль.


>>>Вы написали что новую прошивку можно записать в некую "буферную флешку". Это что - надо какую-то ещё дополнительную флешку к модулю подключать или Вы имели в виду ФС внутри модуля?

FS модуля не хватит по объему, поэтому буфер - например SST26VF032B (стоит в розницу $1.2) цепляем по SPI на контроллер который управляет модулем.
Или, если используете ЕАТ, на модуль. Дешевле добавить 1 микросхему чем гонять по стране специалистов обновляя сотни устройств.

Кроме того вам ведь захочется иногда и контроллеру программу обновить.
Новые фичи или там ошибка всплывет. Вот буфер и пригодится - обновляя "на лету" можно из-за сбоя вообще устройство в кирпич превратить.
jcxz
Цитата(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" не меняется?
ArtemKAD
Цитата
например SST26VF032B (стоит в розницу $1.2)


Кстати, а у вас эта(или 26VF064) позиция есть?
CADiLO
>>>что в процессе этой передачи прошивки,

Вы читаете ответы от модуля и знаете что делать дальше.
Не будете же вы лить данные просто как в бездонную бочку.


>>>Кстати, а у вас эта(или 26VF064) позиция есть?

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

Хочу тоже сделать необновляемый бутлоадер. Использую МК PIC24. Почитал про это дело в интернете. Мнения разные. У многих настороженность в части несанкционированного копирования прошивки МК. Оправданы ли такие настроения?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.