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遇到的问题是一样的。 需要手工试操作地址