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

проц ST10F273


Рекомендуемые сообщения

у меня тоже есть блок с процом ST10F273 только он называется Микас 10.3 и после неправильной прошивки он заблокировался

Он скорее всего не заблокировался,а остался в режиме перепрограммирования.А из этого состояния он легко переводиться в режим диагностики.И блок оживает.

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

  • 1 месяц спустя...

А нет ни у кого схемы блоков на st10f273 ? (чтоб было видно куда какая нога идет на колодку к примеру)

Сижу тут ковыряю прошивальщик ST10FLASHER. Узнал как прошивка происходит (там заливается мини бут, который и выполняет запросы от ST10Flasher) - теперь хочу распотрошить прошивку дизасемблером и найти места где к примеру происходит включение муфты кондиционера (если б была схема можно было быстро найти место в прошивке где дергается нога проца). 

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

Вообще кому интересно, а то чет монополию SMS развели)) И инфы чет мало..

Для процов ST10FXXX можно писать проги в Keil C166.

Дизасемблировать прошивки можно  в IDA PRO (открыть прошивку и выбрать проц ST10 далее выбрать ST10F276). Кто разбирается в ассемблере - можно к примеру добавить функционала в прошивку или изменить алгоритм работы каких нить функций..

По поводу прошивки - взять к примеру проц ST10F273 - в даташите у него написано вот что - 

Режим работы проца после ресета регулируется ногами 104-105, т.е. напряжением на них. К примеру при 0 на ноге 104 и 1 на ноге 105 проц после ресета перейдет в режим BSL - встроенный загрузчик.

Как только проц перешел в режим BSL он начинает слушать линию RxD0 и ждать приема байта 0x00. Как только проц данный байт получил - он отправляет по линии TxD0 идентификационный байт, для данного проца это байт - 0xD5.

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

Так вот - мини бут на 32 байта выглядит так -

 

E6 F0 00 F6 9A B7 FE 70  A4 00 B2 FE 7E B7 86 F0
FF F9 3D F8 EA 00 00 F6  CC 00 CC 00 CC 00 CC 00

:) или код в ассемблере - 

ROM:00000000                 mov     r0, #0F600h /адрес куда загрузить основной бут
ROM:00000004
ROM:00000004 loc_4:                                  ; CODE XREF: ROM:loc_4j
ROM:00000004                                         ; ROM:00000012j
ROM:00000004                 jnb     S0RIR, loc_4 /прием обнаружен
ROM:00000008                 movb    [r0], S0RBUF /сохранить байт из линии RxD0
ROM:0000000C                 bclr    S0RIR /стереть бит приема 
ROM:0000000E                 cmpi1   r0, #0F9FFh /проверить если загрузили уже 1024 байт
ROM:00000012                 jmpr    cc_NZ, loc_4 /если еще не загрузили слушать опять
ROM:00000014                 jmpa    cc_UC, loc_F600  переход по адресу 0xf600 и начало выполнения загруженной проги..
ROM:00000018 ; ---------------------------------------------------------------------------
ROM:00000018                 nop
ROM:0000001A                 nop
ROM:0000001C                 nop
ROM:0000001E                 nop

Как видите все просто - бут на 32 байта производит загрузку полной проги размером 1024 байт по нужному адресу и начинает ее выполнять... 

 

Вот так - при нажатии на кнопку "установить связь" в прошивальщиках - происходит загрузка мини бута и основного бута в проц - причем не обязательно они одинаковые - тут можно и самому в Keil написать что захочется :)

И затем проц просто ждет от прошивальщика команды (слушая линию RxD0).

Вот так вот...

 

 

 

 

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

  • 2 месяца спустя...

Значит создаем бинарник с содержимым:

"E6 F0 00 F6 9A B7 FE 70  A4 00 B2 FE 7E B7 86 F0
FF F9
3D F8 EA 00 00 F6  CC 00 CC 00 CC 00 CC 00"

 

И через стфлешер вгоняем его в проц в бсл режиме. И сразу же вгоняем сток прошивку? 

 

 

Или лучше сделать это через usb-com и терминал?

Изменено пользователем konstantin82
Ссылка на комментарий
Поделиться на другие сайты

Вам бы сперва правила форума соблюдать....

А потом...

sekil ! Это выложил для открытого бутлодыря ? А если загрузчик закрыт ?

Ну и если человек с 28 июня не был на форуме , то вряд ли будет иметь эта тема продолжение в этом направлении.

Изменено пользователем Klassikovod
Ссылка на комментарий
Поделиться на другие сайты

А тут жалеть то нечего.

Просто я не программист , но если логически разобраться.

Команды будут отличаться от версии загрузчика и что то на закрытом эбу не будет проходить. Не могу утверждать , что выше написанное не так все или сказать что это поможет. Тут даже не указано что и как. Почему на данный момент есть только два варианта сделать эбу открытым , разве нет умных людей если так все просто ?

Другие флешеры шьют , но оставляют бутлоадер в том же состоянии.

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

  • 9 месяцев спустя...

Значит создаем бинарник с содержимым:

"E6 F0 00 F6 9A B7 FE 70  A4 00 B2 FE 7E B7 86 F0

FF F9 3D F8 EA 00 00 F6  CC 00 CC 00 CC 00 CC 00"

 

И через стфлешер вгоняем его в проц в бсл режиме. И сразу же вгоняем сток прошивку? 

 

 

Или лучше сделать это через usb-com и терминал?

Нет.

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

По поводу закрытый открытый я хз.. у меня только 7.2+ есть.. на других не тестил.

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

  • 3 месяца спустя...

Нет.

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

По поводу закрытый открытый я хз.. у меня только 7.2+ есть.. на других не тестил.

 

а вот если после замена проца на новый .....как запустить этот мини загрузчик ?

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

  • 5 месяцев спустя...

Он скорее всего не заблокировался,а остался в режиме перепрограммирования.А из этого состояния он легко переводиться в режим диагностики.И блок оживает.

Привет. Расскажи, как его легко вывести из режима программирования. Столкнулся с такой же проблемой. Прошил я7.2+ правильной прошивкой, и все, насос и стартер не срабатывают, на авто блок на Диагностику не выходит. Возвращал м сток и чистый еепром лил- результата ноль. Ещё после этого теперь нельзя считать еепром- выдает ошибку, в тоже время считать и стереть еепром можно. Уже весь мозг сломал в чем же причина
Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...
Яндекс цитирования