Восстановление прошивки TRIMAX TR-2012HD через COM-порт

Олександр.
Новичок
Сообщения: 11
Зарегистрирован: 09 окт 2012, 18:04

Восстановление прошивки TRIMAX TR-2012HD через COM-порт

Сообщение Олександр. »

В процессе смены микрокода (перепрошивки) могут произойти непредвиденные ситуации (отключение электропитания, прошивка версией микрокода, предназначенной для другой модели тюнера или просто в процессе обновления все «повисло»). После перезагрузки тюнер начинает выдавать ошибки и циклически перезагружается. Если такое случилось и тюнер еще на гарантии, то Вам не избежать похода в сервис. Кто гарантию давно сорвал и кто дружит с паяльником и компьютером, тот читает дальше.
Для восстановления прошивки TRIMAX TR-2012HD через Serial интерфейс (COM-порт) необходимо:
  • 1.Сделать кабель-адаптер (или купить и доработать согласование уровней TTL 5в на 3.3в. Например кабель от моб. телефонов T191 и т.п). Полную схему не привожу. В инете есть схемы и даташит на MAX232N. Я использовал часть своего JDM-программатора (MAX232N) для PIC и AVR микроконтроллеров, с доработкой согласования уровней 5в на 3.3в.
  • 2. Наличие у компьютера COM-порта или переходника USB to RS232. Если использовать готовый USB кабель, подходящий для этого, от мобильного телефона, то COM-порт и переходник не нужны, но доработка кабеля на согласование уровней 3.3в обязательно!
  • 3. Вскрыть TRIMAX и подключить кабель к Serial интерфейсу (3-pin)
  • 4. Подключить кабель к COM-порту компьютера. Включить внешний блок питания кабеля-адаптера, если такой есть.
  1. 1.Выполнить форматирование USB флешки на компьютере, в файловую систему FAT32 (FAT16 - работает меделенно и могут быть проблемы чтения файлов; NTFS - не поддерживается в данном случае). Затем в корень флешки необходимо скопировать файл, содержащий прошивку, имя файла может быть любое, возьмем стандартное - skw_flash_file.bin. Файл должен иметь размер - 8388608 байт. Соответствующий файл можно скачать здесь или использовать свой, ранее сохраненный дамп прошивки.
  • 2. Вставить флешку в TRIMAX.
Запустить на компьютере программу Putty и прописать в ней следующие установки:
  • - тип соединения - "Serial" (последовательный COM-порт)
    - Последовательная линия - COM1
    - скорость - 115200
    - биты данных - 8
    - стоп биты - 1
    - чётность - нет
    - управление потоком - нет
    - Локальное эхо - ВКЛ
    - Локальное редактирование строки - ВКЛ



После этого в программе PUTTY нажимается кнопка "Открыть" для открытия соединения.
  1. 1. Включить блок питания TRIMAX.
  • 2. В окне PUTTY наблюдаем данные. При появлении текста:
    BOOT_OK!LDR_OK
    LZMA Decompression...ok
    ... и т.п.
    начинаем нажимать, примерно один раз в секунду, клавишу ENTER в окне PUTTY. По окончании загрузки и появлении текста "<< MStar >>#" необходимо прекратить нажатие клавиши ENTER.
    Полученные данные в окне PUTTY:

    Код: Выделить всё

    BOOT_OK!LDR_OK
    LZMA Decompression...ok
    MDrv_PM_RtcGetCounter(CurrentCounter=0)
    
    Hello U-Boot
    
    
    U-Boot 1.1.6 (Sep  4 2012 - 05:33:06)
    
    Board: MSTAR KRNOUS (CPU Speed 552 MHz)
    DRAM:  128 X 0 MBytes
    U-Boot is running at DRAM 0x87600000
    ###############BOARD CONFIGURATION#####################
            DEFAULT ENBALE L2-Cache
            FPU(DISABLE)
            ENABLE_DDR3_16BIT_MODE
       DDR_FREQUENCY(1600MHz)
    ###############BOARD CONFIGURATION#####################
    Module: USB FAT FLASH SPI LOGO ENV=SERIAL
    Flash is detected (0x0803, 0x01, 0x02, 0x16)
    MDrv_SERFLASH_GetInfo()
            u32AccessWidth = 1
            u32TotalSize   = 8388608
            u32SecNum      = 128
            u32SecSize     = 65536
    In:    serial
    Out:   serial
    Err:   serial
    MSVC00B000100100208768TH0000000T
    MDrv_PNL_Init u32PnlRiuBaseAddr = BF200000
    MDrv_PNL_Init u32PMRiuBaseAddr = BF000000
    
    DAC eTiming =6
    HDMITx eTiming =7
    HDMITx eTiming =7
    boot_logo=>cmd: spi_rdc 0x80B2C000 0x1C0000 0x20000
    offset 0x1C0000, size 0x20000
    WARNING: it is better to set dram start addr aligned to 65536 !!!
    Flash is detected (0x0803, 0x01, 0x02, 0x16)
    initialization done!
    u32ReadBuffVirAddr = A0000000, u32IntBuffVirAddr = A0100000, u32OutBuffVirAddr = A0730000
    verJPD_SetStatus >>>>>>>>>>> w:1280,  h:720,  p:1280
    spi_rdc 0x80B00000 0x20000 0x1000
    offset 0x20000, size 0x1000
    WARNING: it is better to set total length aligned to 65536 !!!
    cmd spi_rdc 0x80B00000 0x20000 0x1000 success
    u32UbootInfoAddr: 0xE54DD
    K1_INFO_ADDR: 0xF0000
    spi_rdc 0x80B00000 0xF0000 0x1000
    offset 0xF0000, size 0x1000
    WARNING: it is better to set total length aligned to 65536 !!!
    cmd spi_rdc 0x80B00000 0xF0000 0x1000 success
    u32LogoMagicFlag ERROR !! return GOP_BUFFER_ADDR
    GE_SetOnePixelMode
    
    Hit any key to stop autoboot:  0
    
    << MStar >>#
    << MStar >>#
    << MStar >>#
  • 3. Ввести в окне программы Putty, команду help и нажать Enter для получения списка команд консоли.

    Код: Выделить всё

    << MStar >># help
    help
    ?         - alias for 'help'
    base      - print or set address offset
    bdinfo    - print Board Info structure
    boot_logo - Logo display
    bootm     - boot application image from memory
    cmp       - memory compare
    coninfo   - print console devices and information
    cp        - memory copy
    cpmsbin   - Copy ms bin file (Chakra) from nand to dram
    crc32     - checksum calculation
    cusid     - check the image is release by the valid guys
    dcache    - enable or disable data cache
    du        - Disable UART
    env2flash - read environment parameter file and restore it to flash
    envbin    - read out environment parameter and store it to usb disk
    erase     - erase FLASH memory
    fatinfo   - print information about filesystem
    fatload   - load binary file from a dos filesystem
    fatls     - list files in a directory (default /)
    fatwrite  - write binary file to a dos filesystem
    flinfo    - print FLASH memory information
    go        - start application at address 'addr'
    help      - print online help
    loop      - infinite loop on address range
    md        - memory display
    mm        - memory modify (auto-incrementing)
    mstar     - update kernal & root file system automatically by script file
    mtest     - simple RAM test
    mw        - memory write (fill)
    ustar     - update kernal & root file system automatically by script file
    nm        - memory modify (constant address)
    pnlinfo   - set panel info and save to nand flahs
    printenv  - print environment variables
    protect   - enable or disable FLASH write protection
    reset     - Perform RESET of the CPU
    run       - run commands in an environment variable
    saveenv   - save environment variables to persistent storage
    set_paneltype [type] - Set Mboot panel type and store the type value in env
    setenv    - set environment variables
    spi_dma   - SPI copy data from flash to DRAM by PIU DMA
    spi_ea    - SPI erase all                              
    spi_eb    - SPI erase block                            
    spi_gfo   - SPI get flash info                         
    spi_gr    - SPI get Chip Rev                           
    spi_id    - SPI read ID                                
    spi_in    - SPI initialization                         
    spi_r     - SPI read commands                          
    spi_rb    - SPI read buffer                            
    spi_rdc   - SPI read code from SPI flash to DRAM       
    spi_rs    - SPI read status                            
    spi_w     - SPI write commands                         
    spi_wb    - SPI write buffer                           
    spi_wp    - SPI write protect                          
    spi_wrc   - SPI write code from DRAM to SPI flash      
    sspi      - SPI utility commands                       
    sysinfo   - set system info and save to nand flahs
    usb       - USB sub-system
    ustar     - update kernal & root file system automatically by script file
    usbboot   - boot from USB device
    ustar     - update kernal & root file system automatically by script file
    version   - print monitor version
    
    << MStar >>#
  • 4. Ввести команду usb reset и нажать Enter

    Код: Выделить всё

    << MStar >># usb reset
    usb reset
    (Re)start USB...
    Check USB port[0]:
    Host type:2
    scanning bus for devices... 1 USB Device(s) found
           scanning bus for storage devices... bulk max packet size:200
    usb_stor_Bulk_max_lun: 0
    init_part begin
    init_part end
    find one storage Device
    1 Storage Device(s) found
  • 5. Ввести команду fatls usb 0:1 и нажать Enter

    Код: Выделить всё

    << MStar >># fatls usb 0:1
    fatls usb 0:1
    do fat ls:argc:3, vendor:Kingston  8388608   skw_flash_file.bin
      8388608   dump.bin
    
    2 file(s), 0 dir(s)
  • 6. Ввести команду fatload usb 0:1 0x80000000 skw_flash_file.bin и нажать Enter

    Код: Выделить всё

    << MStar >># fatload usb 0:1 0x80000000 skw_flash_file.bin
    fatload usb 0:1 0x80000000 skw_flash_file.bin
    reading skw_flash_file.bin
    
    8388608 bytes read
  • 7. Ввести команду spi_wrc 0x80000000 0x0 0x800000 и нажать Enter

    Код: Выделить всё

    << MStar >># spi_wrc 0x80000000 0x0 0x800000
    spi_wrc 0x80000000 0x0 0x800000
    offset 0x0, size 0x800000
    MDrv_SERFLASH_GetInfo()
            u32AccessWidth = 1
            u32TotalSize   = 8388608
            u32SecNum      = 128
            u32SecSize     = 65536
    Erasing...
    Writing...
    Verifying...OK !!!
  • 8. Ввести команду reset и нажать Enter один раз. Теперь в окне Putty будет отображаться протокол обычной загрузки TRIMAX а не консоль восстановления.
  • 9. Выключить питание TRIMAX. Отключить кабель от COM-порта
Прошивка тюнера восстановлена.

Чтобы второй раз не наступать на те же грабли, при прошивке устройств, не забывайте использовать UPS - источник безперебойного питания
Подключайте к UPS всё: компьютер, тюнер, блоки питания других устройств, которые используются при прошивке.
Последний раз редактировалось Олександр. 11 окт 2013, 12:44, всего редактировалось 6 раз.



tuman
Сообщения: 2
Зарегистрирован: 14 авг 2013, 15:10

Re: Восстановление прошивки TRIMAX TR-2012HD через COM-порт

Сообщение tuman »

Олександр а если в программе PuTTY при включении пишет не "Boot" а "Bo ? FAIL " что делать. :(



Олександр.
Новичок
Сообщения: 11
Зарегистрирован: 09 окт 2012, 18:04

Re: Восстановление прошивки TRIMAX TR-2012HD через COM-порт

Сообщение Олександр. »

Проверьте схему кабеля-адаптера.
Проверьте настройки COM порта в PuTTY:
- скорость - 115200
- биты данных - 8
- стоп биты - 1
- чётность - нет
- управление потоком - нет

Какой у вас кабель? Какой порт USB или COM на компьютере?
Если USB то какой USB-COM переходник используете?
Какие уровни напряжения на выходе COM порта или переходника?



Igor8900000
Сообщения: 1
Зарегистрирован: 03 сен 2013, 13:44

Re: Восстановление прошивки TRIMAX TR-2012HD через COM-порт

Сообщение Igor8900000 »

Куда подключается контакт 3.3 V?



Олександр.
Новичок
Сообщения: 11
Зарегистрирован: 09 окт 2012, 18:04

Re: Восстановление прошивки TRIMAX TR-2012HD через COM-порт

Сообщение Олександр. »

Источник питания +3.3V находится внутри Тримакса. Так как линии Tx и Rx подключены через резисторы 4к7 тоже внутри Тримакса, то для согласования уровней 5V --> 3.3V в кабеле-адаптере достаточно одного диода.



tuman
Сообщения: 2
Зарегистрирован: 14 авг 2013, 15:10

Re: Восстановление прошивки TRIMAX TR-2012HD через COM-порт

Сообщение tuman »

кабель-адаптер в норме связь была и писал в терменале "Boot" но произошол сбой по питанию и теперь пишет в терменале "Bo?FaIL" питание 3.3в :flag_of_truce:
'



Олександр.
Новичок
Сообщения: 11
Зарегистрирован: 09 окт 2012, 18:04

Re: Восстановление прошивки TRIMAX TR-2012HD через COM-порт

Сообщение Олександр. »

Bo?FaIL - Boot Failure это означает, что к Вашему загрузчику в гости пришёл белый, северный пушной зверёк. Не хотелось писать такой ответ но, чтобы прогнать зверька из процессора, надо взять 100грн. и отнести Trimax в сервисный центр. Дело в том что U-Boot загрузчик находится в процессоре(не уверен пока за Trimax может всё-таки в той же SPI-Flash Spansion FL064PIF), а прошивка процессора это совсем другой вопрос и отдельная тема. На изучение этой темы понадобится много времени, да ещё и даташита на процессор MSD5043 от MStar пока невозможно найти.
Если у Вас всё работало и вместо того чтобы прошить внешнюю SPI-Flash память FL064P 8Mb по предложенной выше инструкции, у Вас получилось стереть U-Boot загрузчик, то опишите ситуацию пдоробно в деталях, какие команды выполнялись в U-Boot в момент отключения питания, может это поможет быстрее найти решение этого вопроса.
P.S. При прошивке устройств не забывайте использовать UPS - источник безперебойного питания!



M-I-G
Сообщения: 3
Зарегистрирован: 30 июл 2012, 20:15

Re: Восстановление прошивки TRIMAX TR-2012HD через COM-порт

Сообщение M-I-G »

Подскажите
в putty пишет
BOOT_OK!L_FAIL
что делать ?



Олександр.
Новичок
Сообщения: 11
Зарегистрирован: 09 окт 2012, 18:04

Re: Восстановление прошивки TRIMAX TR-2012HD через COM-порт

Сообщение Олександр. »

Если при нажатии Enter не переходит в загрузчик U-BOOT, то
Прошить
SPI-Flash SPANSION FL064PIF 8Mb
(S25FL064P 64-Mbit CMOS 3.0 Volt Flash Memory)
с помощью ПРОГРАММАТОРА.



M-I-G
Сообщения: 3
Зарегистрирован: 30 июл 2012, 20:15

Re: Восстановление прошивки TRIMAX TR-2012HD через COM-порт

Сообщение M-I-G »

Спасибо. По com порту чтоб не выпаевать не как ?



Олександр.
Новичок
Сообщения: 11
Зарегистрирован: 09 окт 2012, 18:04

Re: Восстановление прошивки TRIMAX TR-2012HD через COM-порт

Сообщение Олександр. »

У микропроцессора MSD5043, должен быть сервисный интерфейс JTAG.

Практически все современные микропроцессоры (микроконтроллеры) оснащаются этим интерфейсом для:
  • -выходного контроля микросхем при производстве
    -тестирования собранных печатных плат
    -прошивки микросхем с памятью
    -отладочных работ при проектировании аппаратуры и программного обеспечения
На плате у ТРИМАКСА такого порта нет. Можно и припаять, но нет даташита на MSD5043.



rudich
Сообщения: 2
Зарегистрирован: 17 окт 2013, 18:58

Re: Восстановление прошивки TRIMAX TR-2012HD через COM-порт

Сообщение rudich »

Как доработать простой usb шнур ?



M-I-G
Сообщения: 3
Зарегистрирован: 30 июл 2012, 20:15

Re: Восстановление прошивки TRIMAX TR-2012HD через COM-порт

Сообщение M-I-G »

Я использовал USB кабель от Nokia-DKU 50 . В нем три провода GND, Rx, Tx. Подошел отлично.



денbv1
Сообщения: 3
Зарегистрирован: 26 окт 2013, 15:09

Re: Восстановление прошивки TRIMAX TR-2012HD через COM-порт

Сообщение денbv1 »

можно по точнее как вольтаж поменять?
пожалуйста :(



денbv1
Сообщения: 3
Зарегистрирован: 26 окт 2013, 15:09

Re: Восстановление прошивки TRIMAX TR-2012HD через COM-порт

Сообщение денbv1 »

какой именно нада диод??? и на какой отвод его ставить?



Ответить

Вернуться в «ПО Trimax (прошивка)»