找回密码
 注册

QQ登录

只需一步,快速开始

楼主: hugebird

Broadcom路由DSL猫用的JTAG工具最新版

    [复制链接]
 楼主| 发表于 2010-5-30 19:48:47 | 显示全部楼层
回复 753# hugebird

1.9h

测试版

整理x8模式代码,添加5354初始化代码,类似6358当初的初始化代码,也许有奇效。

/initcpu
激活


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2010-5-31 16:46:02 | 显示全部楼层
支持一下,希望能支持更多!
发表于 2010-6-1 00:01:36 | 显示全部楼层
本帖最后由 hotqj 于 2010-6-1 00:05 编辑

回复 754# hugebird


    回H大,我的RG100a,Flash为S29GL128N,,,刷入了HG553的CFE由于不能启动,我准备刷回CFE。。。但检测Flash出错,使用命令brjtag -probeonly -cable:3 和LPT接口线,我都试了,基本是一样的。
信息如下

  1.         ===============================================
  2.          Broadcom EJTAG Debrick Utility v1.9f-hugebird
  3.         ===============================================

  4. Initializing J-Link HW Ver. 8.0
  5. Set I/O speed to 3000 KHz
  6. Detected target Vref = 0.465V

  7. USB TAP device has been initialized. Please confirm VREF signal connected!
  8. Press any key to continue ONCE target board is powered on!

  9. Probing bus ... Done

  10. Instruction Length set to 5

  11. CPU assumed running under BIG endian

  12. CPU Chip ID: 00000110001101011000000101111111 (0635817F)
  13. *** Found a Broadcom manufactured BCM6358 REV 01 CPU ***

  14.     - EJTAG IMPCODE ....... : 00000000100000011000100100000100 (00818904)
  15.     - EJTAG Version ....... : 1 or 2.0
  16.     - EJTAG DMA Support ... : Yes
  17.     - EJTAG Implementation flags: R4k MIPS16 MIPS32

  18. Issuing Processor / Peripheral Reset ... Done
  19. Enabling Memory Writes ... Done
  20. Halting Processor ... <Processor did NOT enter Debug Mode!> ... Done
  21. Clearing Watchdog ... Done
  22. Loading CPU Configuration Code ... Skipped
  23. Detecting Flash Base Address...
  24. Read MPI register value : 2000001E
  25. MPI register show Flash Access Base Addr : 00000000

  26. Probing Flash at Address: 0x00000000 ...
  27. Detected Chip ID (VenID:DevID = 0000 : 001E)
  28. *** Unknown or NO Flash Chip Detected ***


  29. *** REQUESTED OPERATION IS COMPLETE ***

复制代码
我又加了强/fc:088参数后,信息如下:
  1. brjtag -flash:tfe /fc:088

  2.         ===============================================
  3.          Broadcom EJTAG Debrick Utility v1.9f-hugebird
  4.         ===============================================

  5. Probing bus ... Done

  6. Instruction Length set to 5

  7. CPU assumed running under BIG endian

  8. CPU Chip ID: 00000110001101011000000101111111 (0635817F)
  9. *** Found a Broadcom manufactured BCM6358 REV 01 CPU ***

  10.     - EJTAG IMPCODE ....... : 00000000100000011000100100000100 (00818904)
  11.     - EJTAG Version ....... : 1 or 2.0
  12.     - EJTAG DMA Support ... : Yes
  13.     - EJTAG Implementation flags: R4k MIPS16 MIPS32

  14. Issuing Processor / Peripheral Reset ... Done
  15. Enabling Memory Writes ... Done
  16. Halting Processor ... <Processor did NOT enter Debug Mode!> ... Done
  17. Clearing Watchdog ... Done
  18. Loading CPU Configuration Code ... Skipped
  19. Detecting Flash Base Address...
  20. Read MPI register value : 2000001E
  21. MPI register show Flash Access Base Addr : 00000000
  22. *** Manually Selected a Spansion S29GL128N/P Uni  (16MB) from AMD/Spansion

  23.     - Flash Chip Window Start .... : 00000000
  24.     - Flash Chip Window Length ... : 01000000
  25.     - Selected Area Start ........ : 00000000
  26.     - Selected Area Length ....... : 00020000

  27. *** You Selected to Flash the TFE.BIN ***

  28. =========================
  29. Flashing Routine Started
  30. =========================
  31. Total Blocks to Erase: 1

  32. Erasing block: 1 (addr = 00000000)...^C
复制代码
不知道是什么原因。。

但我使用了Alice03这个针对Alice的6358的设备,检测和你的一样,但加了/fc参数后,就可以正常写入了。。。而且 再使用你的Brjtag软件 不管用LPT线,还是Jlink线,显示都正常了。

我使用Brjtag有的时候经常刷没使用过的CFE,出错很多,经常是找不到Flash,或指定fc参数也没用,而Alice03软件本身运行时,就一定要加上fc参数才能正常使用,Brjtag搞不定时,用Alice03基本都是一次搞定。

我现在提供一下相关的Alice03的工具和源码给你参考一下,感觉应该和Flash方面的源码有关,特别是针对16M的Flash芯片。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2010-6-1 00:33:45 | 显示全部楼层
回复 754# hugebird

地址测试等有机会再重新进行

(以后如不注明,都是同样的硬件同样的FLASH同样数据线)
1.9h测试小结:
1、同样可以写入CFE.BIN(至少程序中是显示“CFE.BIN loaded into Flash Memory OK”字样)。
2、但是,如果不加/wx8开关,则无法进行(1.9g版写CFE时则不需要加/wx8,详情看743楼)。
3、这次读出的CFE,有点内容了,但跟写入的CFE还是有一些差距的,请看附件。

4、/initcpu 参数不是很明白。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 发表于 2010-6-1 08:39:00 | 显示全部楼层
本帖最后由 hugebird 于 2010-6-1 01:05 编辑
回复  hugebird


    回H大,我的RG100a,Flash为S29GL128N,,,刷入了HG553的CFE由于不能启动,我准 ...
hotqj 发表于 2010-5-31 16:01



Read MPI register value : 2000001E
  
出现>200000000的MPI based说明modem加电时间和brjtag时间间隔掌握的不合适,我的经验出现这个情况这个间隔应该再减小一点,实际地址应该是1exxxxxx,1fxxxxxx.
因为没有使用trst和srst复位线,只能靠开机时间来保证cpu进入调试模式。

还有就是不要自动检测MPI地址
/nompi /initcpu
或者
brjtag -probeonly /window:1e00000 /erasechip
brjtag -probeonly /window:1f00000 /erasechip
brjtag -probeonly /window:1fc00000 /erasechip

如果一直不行,那只有OE接地方法,绝对可行的。

方法很多种,选最适合自己的就好
 楼主| 发表于 2010-6-1 08:45:23 | 显示全部楼层
本帖最后由 hugebird 于 2010-6-1 00:54 编辑
回复  hugebird

地址测试等有机会再重新进行

(以后如不注明,都是同样的硬件同样的FLASH同样数据线 ...
MINE 发表于 2010-5-31 16:33



我比较了一下,如果去掉save文件头4个字节,两个cfe的内容应该完全一样。
/initcpu的目的就是先让cpu执行一段初始化代码,这样原来jtag不可访问的地址可以访问了。

本身已经确定8位宽的机器,必须要用/wx8写入,不加参数写入没有任何意义,不能用了说明问题。
save文件不知是后写入的还是从另一个设备备份的?有1字的偏移,很奇怪

1.9g所有版本都是临时测试版,部分功能不正常,所以不要再用了. 1.9是稳定版
发表于 2010-6-1 09:38:12 | 显示全部楼层
本帖最后由 MINE 于 2010-6-1 09:57 编辑

回复 759# hugebird


之前备份的CFE文件是刚刚写入后立即备份的,不存在另一台设备的问题。
单独执行brjtag -probeonly /initcpu命令,似乎没有什么反应,一直处在Loading CPU Configuration Code ...状态,目前命令已经执行了有10分钟,没有变化。

  1. C:\>brjtag -probeonly /initcpu
  2.         ===============================================
  3.          Broadcom EJTAG Debrick Utility v1.9h-hugebird
  4.         ===============================================
  5. Probing bus ... Done
  6. Detected IR Length is 8
  7. CPU assumed running under LITTLE endian
  8. CPU Chip ID: 00110101001101010100000101111111 (3535417F)
  9. *** Found a Broadcom manufactured BCM5354 REV 03 CPU ***
  10.     - EJTAG IMPCODE ....... : 00000000100000010000100100000100 (00810904)
  11.     - EJTAG Version ....... : 1 or 2.0
  12.     - EJTAG DMA Support ... : Yes
  13.     - EJTAG Implementation flags: R4k MIPS16 MIPS32
  14. Issuing Processor / Peripheral Reset ... Done
  15. Enabling Memory Writes ... Done
  16. Halting Processor ... <Processor Entered Debug Mode!> ... Done
  17. Clearing Watchdog ... Done
  18. Loading CPU Configuration Code ...
复制代码

brjtag -probeonly /initcpu /wx8命令一样结果。

但是单独执行brjtag /initcpu /wx8,则一次性认出FLASH。

  1. C:\>brjtag /initcpu /wx8
  2.         ===============================================
  3.          Broadcom EJTAG Debrick Utility v1.9h-hugebird
  4.         ===============================================
  5. Probing bus ... Done
  6. Detected IR Length is 8
  7. CPU assumed running under LITTLE endian
  8. CPU Chip ID: 00110101001101010100000101111111 (3535417F)
  9. *** Found a Broadcom manufactured BCM5354 REV 03 CPU ***
  10.     - EJTAG IMPCODE ....... : 00000000100000010000100100000100 (00810904)
  11.     - EJTAG Version ....... : 1 or 2.0
  12.     - EJTAG DMA Support ... : Yes
  13.     - EJTAG Implementation flags: R4k MIPS16 MIPS32
  14. Issuing Processor / Peripheral Reset ... Done
  15. Enabling Memory Writes ... Done
  16. Halting Processor ... <Processor Entered Debug Mode!> ... Done
  17. Clearing Watchdog ... Done
  18. Loading CPU Configuration Code ... Skipped
  19. Probing Flash at Address: 0x1FC00000 ...
  20. Detected Chip ID (VenID:DevID = 017E : 2101)
  21. *** Found a CFI Compatiable Flash Chip from AMD/Spansion
  22.     - Flash Chip Window Start .... : 1C000000
  23.     - Flash Chip Window Length ... : 01000000
  24.     - Selected Area Start ........ : 00000000
  25.     - Selected Area Length ....... : 00000000

  26. *** REQUESTED OPERATION IS COMPLETE ***

  27. C:\>brjtag -probeonly /wx8
  28.         ===============================================
  29.          Broadcom EJTAG Debrick Utility v1.9h-hugebird
  30.         ===============================================
  31. Probing bus ... Done
  32. Detected IR Length is 8
  33. CPU assumed running under LITTLE endian
  34. CPU Chip ID: 00110101001101010100000101111111 (3535417F)
  35. *** Found a Broadcom manufactured BCM5354 REV 03 CPU ***
  36.     - EJTAG IMPCODE ....... : 00000000100000010000100100000100 (00810904)
  37.     - EJTAG Version ....... : 1 or 2.0
  38.     - EJTAG DMA Support ... : Yes
  39.     - EJTAG Implementation flags: R4k MIPS16 MIPS32
  40. Issuing Processor / Peripheral Reset ... Done
  41. Enabling Memory Writes ... Done
  42. Halting Processor ... <Processor Entered Debug Mode!> ... Done
  43. Clearing Watchdog ... Done
  44. Loading CPU Configuration Code ... Skipped
  45. Probing Flash at Address: 0x1FC00000 ...
  46. Detected Chip ID (VenID:DevID = 017E : 2101)
  47. *** Found a CFI Compatiable Flash Chip from AMD/Spansion

  48. *** REQUESTED OPERATION IS COMPLETE ***
复制代码
 楼主| 发表于 2010-6-1 12:54:35 | 显示全部楼层
回复 760# MINE


几点疑问
1.写入是用哪个版本完成的?
2./initcpu 如果不能很快完成,说明cpu已经挂住,这有可能说明设备本身有cfe,初始化已经完成,目前brjtag启动代码不能进行2次初始化。 如果设备cfe为空,比如做了erase:cfe动作,然后执行 -probeonly /wx8 /initcpu结果会是什么?是否还会挂住。
3. 1.9g几个临时版都不能检测到id, 这个设备是什么情况下用了什么命令成功写进了数据?
3.写入有2种方式dma 或nodma 。 "wx8" 和 “/nodma /wx8"
两者备份出来是什么结果?

因为我手里没这个设备,很难对情况做出判断,所以要测试最好不要拿cfe做实验,实在想试最好用NVRAM。
发表于 2010-6-1 16:55:00 | 显示全部楼层
回复 1# hugebird


    下载来备用,刷刷其他芯片看看
发表于 2010-6-1 19:42:44 | 显示全部楼层
回复  MINE


几点疑问
1.写入是用哪个版本完成的?
2./initcpu 如果不能很快完成,说明cpu已经挂住 ...
hugebird 发表于 2010-6-1 12:54


1、现在用1.9h在并口线加wx8前提下,可以对CFE进行写操作,写完后立即读取CFE比对,文件完全一样,而且现在也没有字节偏位问题了,应该是成功了。
2、在以前未加/initcpu时,无论使用哪个版本(包括1.9h)均认不出FLASH,写入也不成功(写进去后读出来的是空的文件,前几楼附件中有)。
3、现在CFE已经成功写入,设备也能启动(超级终端中有显示,并且可以升级固件)。在此情况下 -probeonly /wx8 /initcpu输出如下(依然卡住)

C:\>brjtag -probeonly /wx8 /initcpu
        ===============================================
         Broadcom EJTAG Debrick Utility v1.9h-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 ...

如果不加/initcpu,则可以找出FLASH。
C:\>brjtag -probeonly /wx8
        ===============================================
         Broadcom EJTAG Debrick Utility v1.9h-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
Probing Flash at Address: 0x1FC00000 ...
Detected Chip ID (VenID:DevID = 017E : 2101)
*** Found a CFI Compatiable Flash Chip from AMD/Spansion

*** REQUESTED OPERATION IS COMPLETE ***
[/code]
4、现在能写入的版本是1.9h,并且是在自动认出了FLASH后,而且在没用/initcpu之前,1.9h也认不出FLASH,说明你之前说的地址偏移的原因是极有可能的,而通过我几次/initcpu,现在可以直接认出FLASH了。
5、如果加/nodma,耗时太长,有点来不及,暂时未测试。如果需要请详细说一下,我在晚上睡觉前测试。
6、我清楚得记得之前有一次我用1.9x版本(具体哪个版本不记得了)加/fc:088对这台设备进行过全片擦除,log显示擦除成功之类的。但今天在用1.9f认出FLASH并写入其它设备的CFE后(写入CFE后立即备份出来比较,证明确实写进去了),设备正常启动,但固件竟然还是电信定制的,这说明我之前看到的擦除wholeflash又是个假象?另外这个设备之前刷固件时就出现过同样的情况:用tftp方式写DD固件时,超级终端窗口显示Done之类的,但设备随后自动重启又还是原来的固件,写固件老是不成功。写之前之后清除nvram都试过了,不行。不知道这个问题你有什么看法。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|宽带技术网 |网站地图 粤公网安备44152102000001号

GMT+8, 2025-5-4 16:44 , Processed in 0.031657 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表