01 октября | 2024г. | 08:37:46


АвторТема: Enigma2  (Прочитано 487348 раз)

0 Пользователей и 1 Гость смотрят эту тему.

Оффлайн Gincha

  • Падаван
  • *
  • Сообщений: 43
  • Поблагодарили: 38
  • Уважение: 0
Enigma2
« Ответ #240: 21 января | 2011г. | 17:02:12 »
0
Спецификации MIPS_EjTag

Подключать буду по схеме DLC 5. Если все срастется - выложу.
Так схема вроде не секрет...   :bye:

Оффлайн kasatky

  • Падаван
  • *
  • Сообщений: 37
  • Поблагодарили: 83
  • Уважение: 0
Enigma2
« Ответ #241: 21 января | 2011г. | 23:25:37 »
0
В кратце:
1) Подключался по схеме unbuffered DLC-5. Тумблер SW1 можно заменить перемычкой 1-14. Использовал плоский кабель на 14 жил, чередовал сигнальные и земляные жилы. Длина 50 см.
2) Пробовал использовать TJTAG3 - не поддерживает процессор (3.bmp).
3) Пробовал  brjtag1.9 - процессор распознается, но касательно FLASH, вместо ID производителя и устройства первый раз считывается  - 001B:8037 (1.bmp). Если попробовать снова, то выдаст ID = 001B:0098 и таким он и останется до перезагрузки реса.
По спецификации на нашу Spansion S29GL256P90TFCR1  должны иметь: Manufacturer ID = 01h, Device ID =  7Eh 22h 01h.
Brjtag1.9 поддерживает наш процессор , но в списке поддерживаемых FLASH нет ни одной больше 16M (2.bmp)
4) Слил дважды cfe , сравнил друг с другом - одинаковые=> ошибок нет и unbuffered кабель не подвел.
5) Слил wholeFlash, но на самом деле не целую, а первую половину - 16MB (7.bmp)...
Выкладываю СFE - это первые 256КБ от wholeFlash. Скажите же мне,плиз, что я слил?? :)
PS: весь процесс контроллировал по UART1. После сброса и перевода в режим отладки имеем:

BCM97401
AB
1
и все,  на этом замирает.
22.01.2011 Заменил монохромные bmp на gif. А то и форум и браузер от них глючит
удалил неправильный CFE.bin чтобы его случайно кто-нить не зашил.
24.01.2011 Откорректировал схему my_jtag - исключил тумблер (достаточно перемычки 1-14)
  • GI ST9195/Golden Interstar HH-120/Supral-0,9m/ku-universal-twin/ku-circle-single/TT-budget-PCI(SS3)

Оффлайн Gincha

  • Падаван
  • *
  • Сообщений: 43
  • Поблагодарили: 38
  • Уважение: 0
Enigma2
« Ответ #242: 22 января | 2011г. | 00:18:32 »
0
Выкладываю СFE - это первые 256КБ от wholeFlash. Скажите же мне,плиз, что я слил??
Судя по команде, слил загрузчик cfe. Flash целиком сливается -backup:wholeflash

Пробуй -probeonly /showppb
если flash поддерживает, будет примерно так:
Probing Flash at Address: 0x1FC00000 ...
Detected Chip ID (VenID:DevID = xxxx : yyyy)
*** Found a CFI Compatiable Flash Chip from <производитель>
Flash Sector Protection type 0

Скриншоты снимать долго, помечаеш и копируй текст прямо с cmd Ctrl+C
Если cmd не позволяет захватывать текст, кликаеш мышкой правой на синей полосе окна cmd -> Properties -> ставиш галку Quick Edit Mode

Картинку 7.bmp не открывает, или это только у меня?

Ниже инфо про brjtag:


        ===============================================
         Broadcom EJTAG Debrick Utility v1.9m-hugebird
        ===============================================

 ABOUT: This program reads/writes flash memory on the Broadcom MIPS(LE)
        Chip and compatible routers via EJTAG using either DMA Access
        routines or PrAcc routines (slower/more compatible). Processor chips
        supported in this version include the following chips:

            Supported Chips
            ---------------
            Broadcom BCM4702
            Broadcom BCM4704
            Broadcom BCM4712
            Broadcom BCM4716
            Broadcom BCM4705|4785
            Broadcom BCM5350
            Broadcom BCM5352
            Broadcom BCM5354
            Broadcom BCM5365
            Broadcom BCM6345
            Broadcom BCM6338
            Broadcom BCM6348
            Broadcom BCM6358
            Broadcom BCM6368
            Broadcom BCM6816
            Broadcom BCM7401
            PMC-Serria BRECIS MSP2007-CA-A1
            TI TNETD7300GDU(AR7WRD)
            TI TNETV1060GDW


 USAGE: Brjtag /showflashlist
 USAGE: Brjtag [parameter] </noreset> </noemw> </nocwd> </nobreak></LE|BE>
                      </notimestamp> </dma> </nodma> </noerase></initcpu>
                      </nompi> </ejslow></waitbrk><wx8>
                      </bypass></forcealign></showppb></clearppb></erasechip>
                      </nocfi></forcenoflip></forceflip>
                      <window:XXXXXXXX><start:XXXXXXXX> </length:XXXXXXXX>
                      <port:XXX> </instrlen:XX> </fc:XX></skipdetect>
                      </wiggler></cable:X></io2></safemode>
                      </verbose>

            Required Parameter
            ------------------
            -backup:cfe
            -backup:tfe
            -backup:nvram
            -backup:kernel
            -backup:wholeflash
            -backup:custom
            -backup:bsp
            -erase:cfe
            -erase:tfe
            -erase:nvram
            -erase:kernel
            -erase:wholeflash
            -erase:custom
            -erase:bsp
            -flash:cfe
            -flash:tfe
            -flash:nvram
            -flash:kernel
            -flash:wholeflash
            -flash:custom
            -flash:bsp
            -probeonly

            Optional Switches
            -----------------
            /noreset ........... prevent Issuing EJTAG CPU reset
            /noemw ............. prevent Enabling Memory Writes
            /nocwd ............. prevent Clearing CPU Watchdog Timer
            /nobreak ........... prevent Issuing Debug Mode JTAGBRK
            /noerase ........... prevent Forced Erase before Flashing
            /notimestamp ....... prevent Timestamping of Backups
            /dma ............... force use of DMA routines
            /srst .............. force a TAP nSRST reset on starting
            /nodma ............. force use of PRACC routines (No DMA)
            /ejslow............. with low speed ejtag access
            /waitbrk............ wait until CPU enter debug mode
            /wx8 ............... with x8 mode program flash
            /initcpu............ load CPU configuration code
            /nompi.............. skip autodect flash base address with MPI Reg
            /LE ................ force operate as Little Endian chip
            /BE ................ force operate as Big Endian chip
            /window:XXXXXXXX ... custom flash window base&probe address(in HEX)
            /start:XXXXXXXX .... custom start location (in HEX)
            /length:XXXXXXXX ... custom length (in HEX)
            /verbose............ scrolling display of data
            /skipdetect ........ skip auto detection of CPU Chip ID
            /instrlen:XX ....... set CPU instruction length manually
            /wiggler ........... use wiggler cable
            /nocfi ............. disable CFI query flash geometry
            /forcenoflip ....... force not flipping CFI queried flash geometry
            /forceflip ......... force flipping CFI queried flash geometry
            /bypass ............ unlock Spansion bypass mode & disable polling
            /forcealign......... force erase address align with block boundary
            /erasechip.......... erase whole chip, only work with -probeonly
            /clearppb........... erase Spansion PPB,only work with -probeonly
            /showppb ........... show flash sector protection status
                                 only work with -probeonly
            /port:XXX........... customize parallel port(default XXX is 378)
                                 only work in Windows version
            /io2 ............... use alternative Parallel port access method
            /cable:X ........... type: 0-DLC5 paraport
                                       1-Wiggler paraport
                                       2-OpenMoko USB cable(FT2232C/D/L)
                                       3-J-Link ARM/SAM-ICE EMU
            /safemode .......... use parallel cable way operate USB, SLOW!
            /fc:XXX = Manual Flash Chip Selection(disable CFI and ID auto match
                      use 'brjtag /showflashlist' show build-in flash list



 NOTES: *) '-backup:', '-flash:' and '-erase:', the source filename must exist
           as follows: CFE.BIN, NVRAM.BIN, KERNEL.BIN, WHOLEFLASH.BIN or
           CUSTOM.BIN, BSP.BIN, TFE.BIN(64KB or 1x bottom Sector length CFE)

        *) Brjtag default with x16 mode handle Parallel Flash chip. /wx8 switch
           to x8 mode.

        *) Brjtag uses CFI command set to automatically detect flash chip
           parameters. If you have difficulty auto-detecting flash with CFI,
           '/nocfi' convert to original flash detection method. brjtag then use
           detected flash ID query parameters from build-in flash list.
           particularly, you can use '/fc:XX' manually specify flash ID.
           'brjtag /showflashlist' can print build-in flash list

        *) '/forcenoflip' and '/forceflip' can help on some AMD type flash
           detecting sector structure correctly if CFI uses.
           'brjtag -probeonly /verbose' debug flash detection

        *) If you have difficulty with the older bcm47xx chips or when no CFE
           is currently active/operational you may want to try both the
           /noreset and /nobreak command line options together.  Some bcm47xx
           chips *may* always require both these options to function properly.

        *) When using this utility, usually it is best to type the command line
           out, then power up the router, about 0.5 second delay, hit <ENTER>
           quickly to avoid bad CFE code lead to <CPU NOT enter Debug mode>
           or the CPUs watchdog interfering with the EJTAG operations.

        *) /bypass - enables Unlock bypass command for some AMD/Spansion type
           flashes, it also disables polling

        *) /initcpu allow load config code to initialize the CPU. This may help
           BCM6358 prevent from some address non-accessible.

        *) '-probeonly /window:xxxxxxxx /erasechip' allow choose a workable
           sector address to erase whole chip. This may help on a bricked box
           with bad CFE

        *) /forcealign - enable erase sectors if the operation window is not
           aligned with sector boundary. It's risky! but can help erase some
           box NVRAM area whose sector size is larger than NVRAM definition

        *) /ejslow - limit parallel port clock out speed to 500KHz. This wish
           to increase LPT port compatibility for some high clock PC.
           For USB cable this switch can help hit higher clock

 ***************************************************************************
 * Flashing the KERNEL or WHOLEFLASH will take a very long time using JTAG *
 * via this utility.  You are better off flashing the CFE & NVRAM files    *
 * & then using the normal TFTP method to flash the KERNEL via ethernet.   *
 ***************************************************************************

Оффлайн kasatky

  • Падаван
  • *
  • Сообщений: 37
  • Поблагодарили: 83
  • Уважение: 0
Enigma2
« Ответ #243: 22 января | 2011г. | 13:46:20 »
0
Судя по команде, слил загрузчик cfe.
Спасибо.Очень остроумно.
Если бы это было начало FLASH, то по адресу (Base) + 00h мы бы увидели manuf.ID = 01h., а по (Base) + 01h первый байт DevId = 7Eh.
будет примерно так:Probing Flash at Address: 0x1FC00000 ...Detected Chip ID (VenID:DevID = xxxx : yyyy)
если посмотришь 1.gif - все это увидишь. MPI дает адрес = 0000. Вместо ID там неизвестно что. Следовательно начало флэш с другого адреса.
  • GI ST9195/Golden Interstar HH-120/Supral-0,9m/ku-universal-twin/ku-circle-single/TT-budget-PCI(SS3)

Оффлайн Gincha

  • Падаван
  • *
  • Сообщений: 43
  • Поблагодарили: 38
  • Уважение: 0
Enigma2
« Ответ #244: 22 января | 2011г. | 14:23:04 »
0
kasatky,
я так понимаю, Ты выполнял команду -backup:cfe, а cfe это загрузчик
А насчет адресов...указывал и в превидущем посту...
[ Гостям не разрешен просмотр вложений ]

Оффлайн kasatky

  • Падаван
  • *
  • Сообщений: 37
  • Поблагодарили: 83
  • Уважение: 0
Enigma2
« Ответ #245: 22 января | 2011г. | 19:23:07 »
0
Если бы это было начало FLASH, то по адресу (Base) + 00h мы бы увидели manuf.ID = 01h., а по (Base) + 01h первый байт DevId = 7Eh.
тут я ошибся. Чтобы в этих адресах увидеть ID надо перевести flash в режим autoselect.

Gincha, спасибо за адрес!
BRJTAG1.9 даже распознает нашу flash если указать правильный базовый адрес!!!
Если кто захочет слить все 32MB, то запускать с параметром:
brjtag -backup:custom /window:1fc00000 /start:1fc00000 /length:2000000
по времени процесс копирования занимает около 2.5 часов

PS: первые 16 байт:
00000000h: 40 96 58 00 00 00 00 00 00 00 00 00 3C 16 B0 00
Если кто сливал другим софтом, подтвердите пож.
  • GI ST9195/Golden Interstar HH-120/Supral-0,9m/ku-universal-twin/ku-circle-single/TT-budget-PCI(SS3)

Оффлайн cobramostar

  • Падаван
  • *
  • Сообщений: 11
  • Поблагодарили: 3
  • Уважение: 0
Enigma2
« Ответ #246: 25 января | 2011г. | 00:39:35 »
0
Mode 0 = JTAG boundary scan
Mode 1 = Normal EJTAG Operation
Mode 2 = Internal test only
Mode 3 = Internal test only


D.h. immer nur der zu einem Mode gehörende Eingang mit dem Widerstand sollte meiner Meinung nach auf Low-Pegel liegen.
Die beiden im Zusammenhang mit dem JTAG-Interface dargestellten Signale SCL/SDA bzw. SCK/MOSI bezeichnet, sind wahrscheinlich I2C-Signale für zusätzliche (unbestückte?) Receiver-Funktionen bzw. dienen dem einmaligen Programmieren des internen OTP-ROM der BCM-Chips (Doppel-Funktion).

Оффлайн Gincha

  • Падаван
  • *
  • Сообщений: 43
  • Поблагодарили: 38
  • Уважение: 0
Enigma2
« Ответ #247: 25 января | 2011г. | 09:33:56 »
0
Receiver-Funktionen bzw. dienen dem einmaligen Programmieren des internen OTP-ROM der BCM-Chips (Doppel-Funktion).
В ресивере используется и уникальное программирование внутренней одноразово программированной ПЗУ чипа BCM (двойная функция).
Это интересно... но нам непонадобится...
Daggi_Duck to cobramostar,
А от куда такая информация? Доступен полный даташит на BCM ?

Оффлайн cobramostar

  • Падаван
  • *
  • Сообщений: 11
  • Поблагодарили: 3
  • Уважение: 0
Enigma2
« Ответ #248: 25 января | 2011г. | 12:55:04 »
0
Irdeto 4Free Board  Hardware

Оффлайн Gincha

  • Падаван
  • *
  • Сообщений: 43
  • Поблагодарили: 38
  • Уважение: 0
Enigma2
« Ответ #249: 26 января | 2011г. | 00:42:26 »
0
Это "прочитал" tinytools:

Speed = 197467
-----------------------------------------------------------------------
Выбран режим работы с MIPS процессором
CPU ID = 2740117F
CPU ID = A002A28A
CPU ID = 00800A00
CPU ID = 80880A20
CPU ID = 2AA2AA00
CPU ID = 2DE2AA82
CPU ID = 0C40028A
CPU ID = 2740117F
CPU ID = 2740117F
CPU ID = 2740117F
CPU ID = 2740117F
CPU ID = AFC2800A
CPU ID = 2740117F
CPU ID = 2740117F
CPU ID = 2740117F
Пытаемся определить ЦПУ с пользовательскими параметрами
CPU ID = 2740117F
Принудительное определение MIPS
Найден ЦПУ
IMPCODE = 810904
Версия_EJTAG  1 - 2.0
EJTAG_функции :  R4k  MIPS16 DMA  MIPS32
Включаем доступ к записи памяти DMA ... Готово
Перевод процессора в Debug ... >Отладочный режим ОК!< ... Готово
-------- Определяем флешь --------
Режим работы флешь = AMD 16 bit
Flash Base адресс = 0x1FC00000
Первые 16 байт флеши :
0058 9640 0000 0000 0000 0000 00B0 163C
 
CFI  =
Boot type = 4096
Флешь не поддерживает CFI
Считываем парамеры из файла
Flash ID нету в *.ini файле
DevID = 4096; ManID = 5800
Готово

Оффлайн Gincha

  • Падаван
  • *
  • Сообщений: 43
  • Поблагодарили: 38
  • Уважение: 0
Enigma2
« Ответ #250: 26 января | 2011г. | 09:20:51 »
0
yuju,
дело в:
CPU assumed running under BIG endian
https://ru.wikipedia.org/wiki/Little_endian

Оффлайн kasatky

  • Падаван
  • *
  • Сообщений: 37
  • Поблагодарили: 83
  • Уважение: 0
Enigma2
« Ответ #251: 26 января | 2011г. | 13:59:58 »
0
Первые 16 байт:00000000h: 40 96 58 00 00 00 00 00 00 00 00 00 3C 16 B0 00
Первые 16 байт флеши :  0058 9640 0000 0000 0000 0000 00B0 163C
Выводы:
1) Слили мы что надо и откуда надо. Можно спать спокойно.(см PS1)
2) На будующее: нам надо различать backup-ы в форматах big и little endian. Или, что проще, указывать, каким софтом слит выложенный backup. Например - wholeflash.brjtag.bin
3) Gincha, yuju, пробовали считанное писать обратно в flash? пишется? байты переставляет?
Эксперимент нужен..Без эксперимента я даже себе не верю )

PS1: помните последнее сообщение от Lovec47 на старом форуме? - "dont try to load every vmlinuz kernel for BCM7401 available on inet... It can erase your bootloader..." Судя по всему Lovec47 первый в очереди на закачку backup :)
PS2. Отправил на броадком офиц.запрос на документацию (на проц) с корпоративной почты. Жду теперь и волнуюсь.
  • GI ST9195/Golden Interstar HH-120/Supral-0,9m/ku-universal-twin/ku-circle-single/TT-budget-PCI(SS3)

Оффлайн Gincha

  • Падаван
  • *
  • Сообщений: 43
  • Поблагодарили: 38
  • Уважение: 0
Enigma2
« Ответ #252: 26 января | 2011г. | 15:22:19 »
0
[PS2. Отправил на броадком офиц.запрос на документацию (на проц) с корпоративной почты. Жду теперь и волнуюсь.
Тоже неоднократно обращался к Broadcom и дистрибюторам по поводу BCM и bsdl файла к нему. Дистрибюторы посылают в Broadcom, а Broadcom неответил вообще...может Тебе повезёт...

Оффлайн kasatky

  • Падаван
  • *
  • Сообщений: 37
  • Поблагодарили: 83
  • Уважение: 0
Enigma2
« Ответ #253: 26 января | 2011г. | 21:24:39 »
0
Эксперимент №1:  "Запись flash через JTAG"
Цели:

цель1) проверить возможности записи flash через JTAG;
цель2) добиться ясности в вопросе big/little endian.

Описание оборудования и ПО:  GI ST9195; ПК на базе P4P800SE + P4e-2.8GHz+XP(SP3); unbuffered кабель DLC5 (длина 50см), BRJTAG1.9М.

Ход эксперимента (цель1)

1.1) Выбор безопасной области памяти
Выбрана изначально чистая от кода и данных область 60000h - 80000h (заполненная FF), которая одновременно является 4-ой 128КБ страницей flash (запись возможна только постранично)

1.2) brjtag -backup:custom /window:1fc00000 /start:1fc60000 /length:20000 // чтение 128КБ страницы, чтобы удостовериться что она чиста (FF), процесс чтения занял 33 сек;

1.3) модифицирую файл custom.bin в указанных адресах так, чтобы потом понять как будет изменен порядок байт:
00000000h: F0 E1 D2 C3 B4 A5 96 87 78 69 5A 4B 3C 2D 1E 0F
0001fff0h: F0 E1 D2 C3 B4 A5 96 87 78 69 5A 4B 3C 2D 1E 0F

1.4) brjtag -flash:custom /window:1fc00000 /start:1fc60000 /length:20000 // процесс занял 3 сек (!!!!)
В результате проверочного чтения имею:
00000000h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0001fff0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Запись прошла, но не успешно.. Слишком высокая скорость передачи по LPT или некорректная работа с DMA...

1.5) Пробую разные варианты:
brjtag -flash:custom /window:1fc00000 /start:1fc60000 /length:20000 /ejslow
brjtag -flash:custom /window:1fc00000 /start:1fc60000 /length:20000 /io2
Неудачно. Процесс 3 сек. Результат тот же что в п.1.4.

1.6) Пробую работает ли чтение с выключенным DMA
brjtag -backup:custom /window:1fc00000 /start:1fc60000 /length:20000 /nodma
Чтение работает нормально, но очень медленно - 233 сек

1.7) Пробую писать с выключенным DMA
brjtag -flash:custom /window:1fc00000 /start:1fc60000 /length:20000 /nodma
процесс занял 4 сек  (!!!!) Я заранее расстроился.
Проверочное чтение - УРА! Запись прошла успешно. Но неверный порядок байт.

Ход эксперимента (цель2)

2.1 По умолчанию c нашим процессором/flash  BRJTAG работает в режиме BigEndian.
При чтении flash
brjtag -backup:custom /window:1fc00000 /start:1fc60000 /length:20000
имеем custom.bin с неверным порядком байт - необходимо менять порядок как пишет yuju

2.2 При чтении flash с параметром /LE
brjtag -backup:custom /window:1fc00000 /start:1fc60000 /length:20000 /le
сразу получил правильный  custom.bin , который при записи с параметром /LE
дал мне эффект "что пишем, то и читаем"
brjtag -flash:custom /window:1fc00000 /start:1fc60000 /length:20000 /nodma /le

2.3 Перезагрузил ресивер не исправляя поврежденную страницу. Работает ок.

Вывод: чтобы считать всю flash использовать:
brjtag -backup:custom /window:1fc00000 /start:1fc00000 /length:2000000 /le

чтобы записать полученный custom.bin :
brjtag -flash:custom /window:1fc00000 /start:1fc00000 /length:2000000 /nodma /le

(во всяком случае это работает на моем оборудовании...)
  • GI ST9195/Golden Interstar HH-120/Supral-0,9m/ku-universal-twin/ku-circle-single/TT-budget-PCI(SS3)

Оффлайн Gincha

  • Падаван
  • *
  • Сообщений: 43
  • Поблагодарили: 38
  • Уважение: 0
Enigma2
« Ответ #254: 27 января | 2011г. | 17:19:18 »
0
Новая версия 1.9o утилитки для BC...

Теги:
 

Похожие темы

  Тема / Автор Ответов Последний ответ
Enigma2: CrIs AR-P

Автор Igornord « 1 2 ... 116 117 » Enigma2

1745 Ответов
815664 Просмотров
Последний ответ 04 сентября | 2014г. | 20:28:31
от Ser6
0 Ответов
1686 Просмотров
Последний ответ 16 февраля | 2014г. | 14:05:23
от сергей 999s
14 Ответов
11708 Просмотров
Последний ответ 02 апреля | 2016г. | 14:14:00
от gemchug74
Enigma2: CrIs AR-P (7162)

Автор Ser6 « 1 2 ... 15 16 » Enigma2

228 Ответов
166323 Просмотров
Последний ответ 08 марта | 2019г. | 00:59:41
от Ser6
Enigma2: Switch BLACKMOD

Автор grle47 « 1 2 ... 5 6 » Enigma2

76 Ответов
70475 Просмотров
Последний ответ 13 июня | 2018г. | 17:36:39
от Glimmer Man



X

Добро пожаловать!

Мы заметили, что у Вас установлено расширение AdBlock или ему подобное. Пожалуйста добавьте наш Клуб в белый список, внесите этим посильную лепту в его развитие. Спасибо!