fweizi 发表于 2010-5-29 13:35:27

不错!有空研究一下!

hugebird 发表于 2010-5-29 21:49:31

本帖最后由 hugebird 于 2010-5-29 14:45 编辑

回复 743# MINE

1.9g3

使用了一种比较不太规范的方式进行x8 DMA的写入,希望可以工作。
如果DMA无法支持,可以切换到/nodma模式,1.9g3 pracc x8模式读写代码已经调好,使用这个模式最好用并口线,效率比usb高些。

有时id无法识别,不过只要CFI数据结构完整,程序也可以继续进行。

因为没有8位设备设备,不知道到底x8模式读写是怎样的。方便的朋友,可以帮忙贴下面命令在8位设备上的回显。不是8位的就不要麻烦了

brjtag -probeonly /verbose /wx8


x8模式暂告一段落,等有测试环境再进行研究

hugebird 发表于 2010-5-29 21:54:39

回复hugebird


1.9g2 并口线 同样认不出FLASH,强加 /fc:088 可以擦除写入,写入后立即再备份(设备 ...
MINE 发表于 2010-5-28 14:15 https://www.chinadsl.net/images/common/back.gif

S29GL128N这个芯片不知道是不是设备上原装的, 我今天看到一个文档,N的根本就没提x8的事。
可以确定的是S29GL128P是有x8模式的

MINE 发表于 2010-5-29 22:26:54

本帖最后由 MINE 于 2010-5-29 22:33 编辑

回复 746# hugebird


至少在我拿到设备后,是一直没有换过FLASH的,S29GL128N应该是原来就在上面的,而且凭肉眼观察,不像后来有人换过。
另外我一直强调此设备中BYTE与Vss是连通的,不知何解。
698楼我提到,使用1.9f版本的Brjtag进行写CFE过程中,确实是不可以进行写操作的,包括擦除CFE。(详见698#的输出log)。而从1.9g开始,就可以进行部分“写”操作了,至少是可以擦除CFE的。

hugebird 发表于 2010-5-29 22:45:54

本帖最后由 hugebird 于 2010-5-29 14:49 编辑

回复 747# MINE


    1.9g3重新下一遍,最早放的有点问题


vss就是地了,如果pcb上2个pin直接连通,那就不用测了,肯定就是地,不是通过其他回路连通的。

MINE 发表于 2010-5-30 00:39:47

回复MINE


    1.9g3重新下一遍,最早放的有点问题


vss就是地了,如果pcb上2个pin直接连通,那 ...
hugebird 发表于 2010-5-29 22:45 https://www.chinadsl.net/images/common/back.gif

我的意思既然BYTE与Vss是通着的,那么加电后BYTE对地电压为0,再按你的说法,则不可能是16位宽的。
这就是我的疑惑所在。

1.9G3测试稍候进行。

MINE 发表于 2010-5-30 10:01:52

回复 745# hugebird


1.9g3测试结果,刷入CFE后立即备份 (并口数据线,手动指定/fc:088 FLASH实际型号为S29GL128N )

C:\>brjtag -flash:cfe /fc:088

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

Probing bus ... Done

Detected IR Length is 8

CPU assumed running under LITTLE endian

CPU Chip ID: 00110101001101010100000101111111 (3535417F)
*** Found a Broadcom manufactured BCM5354 REV 03 CPU ***

    - EJTAG IMPCODE ....... : 00000000100000010000100100000100 (00810904)
    - EJTAG Version ....... : 1 or 2.0
    - EJTAG DMA Support ... : Yes
    - EJTAG Implementation flags: R4k MIPS16 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
*** Manually Selected a Spansion S29GL128N/P Uni(16MB) from AMD/Spansion

    - Flash Chip Window Start .... : 1C000000
    - Flash Chip Window Length ... : 01000000
    - Selected Area Start ........ : 1C000000
    - Selected Area Length ....... : 00040000

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

=========================
Flashing Routine Started
=========================
Total Blocks to Erase: 2

Erasing block: 1 (addr = 1C000000)...Done
Erasing block: 2 (addr = 1C020000)...Done

Loading CFE.BIN to Flash Memory...
Done(CFE.BIN loaded into Flash Memory OK)

=========================
Flashing Routine Complete
=========================
elapsed time: 468 seconds


*** REQUESTED OPERATION IS COMPLETE ***


C:\>brjtag -backup:cfe /fc:088

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

Probing bus ... Done

Detected IR Length is 8

CPU assumed running under LITTLE endian

CPU Chip ID: 00110101001101010100000101111111 (3535417F)
*** Found a Broadcom manufactured BCM5354 REV 03 CPU ***

    - EJTAG IMPCODE ....... : 00000000100000010000100100000100 (00810904)
    - EJTAG Version ....... : 1 or 2.0
    - EJTAG DMA Support ... : Yes
    - EJTAG Implementation flags: R4k MIPS16 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
*** Manually Selected a Spansion S29GL128N/P Uni(16MB) from AMD/Spansion

    - Flash Chip Window Start .... : 1C000000
    - Flash Chip Window Length ... : 01000000
    - Selected Area Start ........ : 1C000000
    - Selected Area Length ....... : 00040000

*** You Selected to Backup the CFE.BIN ***

=========================
Backup Routine Started
=========================

Saving CFE.BIN.SAVED_20100530_095400 to Disk...
Done(CFE.BIN.SAVED_20100530_095400 saved to Disk OK)

bytes written: 262144
=========================
Backup Routine Complete
=========================
elapsed time: 93 seconds


*** REQUESTED OPERATION IS COMPLETE ***

这是备份出来的CFE

hugebird 发表于 2010-5-30 10:33:58

回复 750# MINE


目前的情况可能有一种情况,

如果不能自动发现flash id 说明,CFE被清掉后,设备不能初始化,操作地址已经从1C000000变成其它什么了,所以对1c000000的读写都是无意义的,即使后面每次的擦除操作实际根本没有擦除,只是保留第1次擦除后的全空。 直接/fc:xx只能得到这样的判断

建议手工探测1fc00000往前的连续地址,看能不能找到flash id
brjtag -probeonly /window:1fc00000
brjtag -probeonly /window:1f800000
brjtag -probeonly /window:1f400000
brjtag -probeonly /window:1f000000
brjtag -probeonly /window:1ec00000
brjtag -probeonly /window:1e800000
每次变化4MB,看flash地址映射到哪里了。找到最前面的地址用-flash:custom写入

如果仍然不行,那么目前已经没有更好的办法。1.9g3 dma/nodma两种模式,即使写不对,也不会写不进去,因为已经使用了和写命令一样的dirty code.

MINE 发表于 2010-5-30 11:30:46

回复MINE


目前的情况可能有一种情况,

如果不能自动发现flash id 说明,CFE被清掉后,设备不能 ...
hugebird 发表于 2010-5-30 10:33 https://www.chinadsl.net/images/common/back.gif

不知道是测试方法不对还是怎么着,始终没找到FLASH。
用1.9g3接我的另一台5354设备(FLASH为S29GL128P),虽然也认不出FLASH,但目前可以正常备份出CFE,跟之前的备份相比较,文件是相同的。

hugebird 发表于 2010-5-30 11:54:39

不要操作cfe, 如果要试,可以用NVRAM做实验,
一旦CFE被擦除,初始化不能完成,可能出现不可预测的情况,

还是是flash为空的时候,操作地址的问题,这个和当初6358遇到的问题是一样的。 需要手工试操作地址
页: 65 66 67 68 69 70 71 72 73 74 [75] 76 77 78 79 80 81 82 83 84
查看完整版本: Broadcom路由DSL猫用的JTAG工具最新版