chkai1981 发表于 2010-8-16 10:12:54

brjtag能不能用wrt54g刷1M的flash?

现在想用wrt54g v3.1的jtag接口来刷一片mx29lv800的flash,能够正确识别cpu和flash,但是在刷wholeflash的时候,提示有错误。

C:\jtag\SRC\win32>brjtag -flash:wholeflash

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

Probing bus ... Done

Detected IR Length is 8

CPU assumed running under LITTLE endian

CPU Chip ID: 00100100011100010010000101111111 (2471217F)
*** Found a Broadcom manufactured BCM4712 REV 02 CPU ***

    - EJTAG IMPCODE ....... : 00000000100000000000100100000100 (00800904)
    - EJTAG Version ....... : 1 or 2.0
    - EJTAG DMA Support ... : Yes
    - EJTAG Implementation flags: R4k MIPS32

Issuing Processor / Peripheral Reset ... Done
Enabling Memory Writes ... Done
Halting Processor ... <Processor Entered Debug Mode!> ... Done
Clearing Watchdog ... Done
Loading CPU Configuration Code ... Skipped

Probing Flash at Address: 0x1FC00000 ...
Detected Chip ID (VenID:DevID = 00C2 : 225B)
*** Found a MX29LV800BTC 512kx16 BotB(1MB) Flash Chip from Macronix

    - Flash Chip Window Start .... : 1FC00000
    - Flash Chip Window Length ... : 00100000
    - Selected Area Start ........ : 1FC00000
    - Selected Area Length ....... : 00100000

*** You Selected to Flash the WHOLEFLASH.BIN ***

=========================
Flashing Routine Started
=========================
***ERROR: No blocks need to operation or Window setting wrong!!


*** REQUESTED OPERATION IS COMPLETE ***


C:\jtag\SRC\win32>

请问各位这是什么原因呢?

hugebird 发表于 2010-8-16 16:11:09

brjtag 内置1MB flash 扇区收据有误,可以用AMD 29lv160DB 1Mx16 BotB的参数变通操作。
如果对CFE操作,只要加 /fc:3 指定 AMD 29lv160DB 1Mx16 BotB即可。
如果是对wholeflash操作,需要把wholeflash.bin改名为custom.bin
然后用
brjtag -flash:custom /start:1fc00000 /window:1fc00000 /length:100000 /fc:3

这种方法不能对NVRAM进行操作。
很少有设备用1MB的flash,似乎其他工具也要相同的bug。
或者自己找1.8c的源码按下面修改,重新编译一下
/* AMD, Spansion */
{ 0x00C2, 0x22DA, size1MB, CMD_TYPE_AMD, 0, "MX29LV800BTC 512kx16 TopB(1MB)"   ,15,size64K,    1,size32K,    2,size8K,   1,size16K},
{ 0x00C2, 0x225B, size1MB, CMD_TYPE_AMD, 0, "MX29LV800BBC 512kx16 BotB(1MB)"   ,1,size16K,      2,size8K,   1,size32K,15,size64K},

chkai1981 发表于 2010-8-19 18:20:44

呵呵,多谢前辈指点,已经重新编译了,确实可以使用了,谢谢!

abv123 发表于 2010-8-19 18:29:38

太好了,有办法了
页: [1]
查看完整版本: brjtag能不能用wrt54g刷1M的flash?