Перейти к содержанию
    

Sim800C не понимаю как прошить

Доброй ночи уважаемые.

Пытаюсь прошить модуль через 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).

 

Подскажите пожалуйста куда копать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну идеально не заморачиваться с COM, а использовать предназначенный для этого USB.

Во вторых - модуль после загрузки лоадера будет сам менять скорость по своему разумению и вариант "пробрасывая порт через AVR контроллер" может не работать.

В третьих - прошивка точно от этого типа памяти? А то как бы в SIM800C24 не зальется прошивка от SIM800C32

Ну и последнее - согласование уровней, качество кабеля и прочие мелочи тоже важны.

 

Кстати ошибка 4008 легко гуглится, так как флешер тот же самый что и для мобилок на МТК чипсетах.

:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В третьих - прошивка точно от этого типа памяти? А то как бы в SIM800C24 не зальется прошивка от SIM800C32

А модуль при приёме прошивки проверяет её на совместимость типа модуля? Грубо говоря: что будет если в SIM808 попытаться прошить firmware от SIM800L? При одинаковом размере флеша.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доброй ночи уважаемые.

Пытаюсь прошить модуль через com port пробрасывая порт через AVR контроллер.

Подскажите пожалуйста куда копать?

 

Прошивал 800ю серию пробрасывая порт.

Столкнулся с граблями:

1. В виде недоработок своего CDC:

- пакеты посылаются большие, надо чтобы все работало четко.

- таймауты никто не отменял, программописатели прошивальщиков не обязательно делают все по документации, а, как правило, лишь бы работало. Таймауты по компорту практически никогда не настраивают. И миллисекунды начинают играть роль.

2. На Win8, Win10 все работает, на WinXP-Win7 - также висит после DA. Перебор вех возможных вариантов usbser.sys на WinXP не помог.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите пожалуйста куда копать?

SIM800 Series_Software Upgrade_Application Note_V1.04.pdf вроде описывает процедуру загрузки прошивки. Пробовали сравнивать с ним свой процесс?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

SIM800 Series_Software Upgrade_Application Note_V1.04.pdf вроде описывает процедуру загрузки прошивки. Пробовали сравнивать с ним свой процесс?

через ж у симкома обновление прошивки работает, поэтому посылают всех на usb))

Жаль - нужная функция.

Интересно, кто-нибудь вообще реализовал внутрисхемное обновление прошивок?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У нас все крупные клиенты реализовали дистанционное обновление модулей.

Прошивка берется или с FTP или отправляется прямо на модуль.

Запихивается в буферную флешку и контроллер после проверки чексумм прошивает модуль.

 

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

 

Чудесно шьется как по UART, так и по USB.

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

 

А дока для прошивки с компа называется - SIM800х_Standard_FW_Download Tool

С компа цепляемся или через UART, или на USB - но не "прокидываем" через контроллер, а выводим с модуля 5 пинов для подключения.

Что нужно для прошивки, я еще с времен SIM300 разжевывал неоднократно - пользуемся поиском по форуму.

Контроллер в Reset чтобы не мешал и вперед шить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Чудесно шьется как по UART, так и по USB.

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

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

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

Разрабатывали много таких устройств, перешивали встроенные связные модули ZigBee, RF, PLC и т.п. по тому же самому интерфейсу, по которому они штатно подключены, ничего не вынимая и не выключая - вот это нормально, не "через ж".

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

>>>- то это и есть "через ж" - полностью согласен. Зачем скорость менять-то??

 

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

 

 

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

 

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

По окончании загрузки этот же контроллер по UART перешьет модуль.

 

 

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

 

FS модуля не хватит по объему, поэтому буфер - например SST26VF032B (стоит в розницу $1.2) цепляем по SPI на контроллер который управляет модулем.

Или, если используете ЕАТ, на модуль. Дешевле добавить 1 микросхему чем гонять по стране специалистов обновляя сотни устройств.

 

Кроме того вам ведь захочется иногда и контроллеру программу обновить.

Новые фичи или там ошибка всплывет. Вот буфер и пригодится - обновляя "на лету" можно из-за сбоя вообще устройство в кирпич превратить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

По окончании загрузки этот же контроллер по UART перешьет модуль.

...

Кроме того вам ведь захочется иногда и контроллеру программу обновить.

Новые фичи или там ошибка всплывет. Вот буфер и пригодится - обновляя "на лету" можно из-за сбоя вообще устройство в кирпич превратить.

Если Вы под "буферной памятью" имеете в виду некий буфер в энергонезависимой памяти моего устройства, то естественно - такой есть, предусмотрен. И да, естественно - он используется для обновления прошивки и главного МК устройства. Именно так всегда и использовал его - только загрузка полностью новой прошивки в него, и только потом старт обновления прошивки главного МК или любого свЯзного модуля. Чтобы при любом передёргивании питания в любой фазе обновления прошивки ничего не превратилось в кирпич (в главном МК и во всех свЯзных модулях есть необновновляемые бутлоадеры).

И этот же буфер я хотел бы использовать и для накопления/хранения принятой по рабочему протоколу прошивки SIM808.

Это понятно, но после того как прошивка полностью принята, дальше я даю RESET SIM808 и начинаю посылать ему прошивку из этой буферной памяти согласно протокола описанного в SIM800 Series_Software Upgrade_Application Note_V1.04.pdf (раздел "Upgrade Process").

Так вот, из Ваших сообщений я понял, что в процессе этой передачи прошивки, в какой-то момент модуль может поменять baudrate по UART? И если ПО прошивальщика на компе (при перешивке по UART с компа) знает когда нужно поменять скорость, то МК так сделать не может.

Или всё-таки baudrate во время процедуры "Upgrade Process" не меняется?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

например SST26VF032B (стоит в розницу $1.2)

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

>>>что в процессе этой передачи прошивки,

 

Вы читаете ответы от модуля и знаете что делать дальше.

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

 

 

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

 

SST26VF032BT-104I/SM

SST26VF064B-104I/SM

На складе - количества уточните у менеджеров.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите, где можно найти свежую прошивку для SIM800 и как выбрать на случай если их несколько? Я бы не заморачивался с перепрошивкой, но он зараза ни одного белорусского оператора в виде строки названия не выдаёт, только цифровой код оператора...

Опыт по заливке расширенной прошивки в sim900 имеется...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Самый простой и правильный способ обратиться к региональному официальному дистрибьютору или по месту приобретения модуля.

В Минске, насколько я помню, официалов нет, но "Альфа-Софт" сотрудничает с дистрибьюторами. Или к "МТ-Систем", СПБ.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если Вы под "буферной памятью" имеете в виду некий буфер в энергонезависимой памяти моего устройства, то естественно - такой есть, предусмотрен. И да, естественно - он используется для обновления прошивки и главного МК устройства. Именно так всегда и использовал его - только загрузка полностью новой прошивки в него, и только потом старт обновления прошивки главного МК или любого свЯзного модуля. Чтобы при любом передёргивании питания в любой фазе обновления прошивки ничего не превратилось в кирпич (в главном МК и во всех свЯзных модулях есть необновновляемые бутлоадеры).

И этот же буфер я хотел бы использовать и для накопления/хранения принятой по рабочему протоколу прошивки SIM808.

Это понятно, но после того как прошивка полностью принята, дальше я даю RESET SIM808 и начинаю посылать ему прошивку из этой буферной памяти согласно протокола описанного в SIM800 Series_Software Upgrade_Application Note_V1.04.pdf (раздел "Upgrade Process").

Так вот, из Ваших сообщений я понял, что в процессе этой передачи прошивки, в какой-то момент модуль может поменять baudrate по UART? И если ПО прошивальщика на компе (при перешивке по UART с компа) знает когда нужно поменять скорость, то МК так сделать не может.

Или всё-таки baudrate во время процедуры "Upgrade Process" не меняется?

Хочу тоже сделать необновляемый бутлоадер. Использую МК PIC24. Почитал про это дело в интернете. Мнения разные. У многих настороженность в части несанкционированного копирования прошивки МК. Оправданы ли такие настроения?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...