MINE 发表于 2008-7-21 16:46:19

原帖由 818240 于 2008-7-21 15:01 发表 http://www.chinaqos.com/images/common/back.gif
C:\Jtag\brjtag\windows>brjtag -probeonly
=============================================
Broadcom EJTAG Debrick Utility v1.0-hugebird
=============================================
Probing bus ... Do ...
你也成功了?

csasd 发表于 2008-8-25 01:45:48

好东西,做个记号先,有时间再看,谢谢

yehaku 发表于 2008-8-25 02:06:40

原帖由 hugebird 于 2008-7-14 14:03 发表 https://www.chinadsl.net/images/common/back.gif
不是flash参数的问题,我估计是flash 操作起始地址有问题,8MB和16MB从1c00 0000开始,与4MB的不一样. 因为没有相关的资料,我也解决不了,毕竟这个工具最初是为WRT54G 路由器做的。

flash_area_typeflash_are ...

这里是128N的详细技术文挡。包括地址定义和各种写入方法。
https://www.chinadsl.net/thread-25787-1-1.html

xiefh 发表于 2008-9-24 22:35:59

谢谢分享 (daxiao:

hugebird 发表于 2008-11-6 20:39:29

对于容量超过4MB的flash, BRJTAG 设置flash内存映射起始地址的计算公式是: 内存的高端 0x2000 0000 -Flash 容量
4MB flash , 容量 是0x4 0000 ,内存映射起始地址是 0x2000 0000 - 0x4 0000 =0x1fc0 0000
8MB flash , 容量 是0x8 0000 ,内存映射起始地址是 0x2000 0000 - 0x8 0000 =0x1f80 0000
16MB flash ,容量 是0x10 0000 ,内存映射起始地址是 0x2000 0000 - 0x4 0000 =0x1f00 0000
CFE的大小也要根据flash扇区大小修改一下, 64K的用 0x1 0000, 128KB 的用0x2 0000.

BRJTAG 源码按这个修改一下就行

hugebird 发表于 2008-11-17 14:41:06

16MB flash的编译文件

这个附件支持16MB的flash,TFE长度是128KB

hugebird 发表于 2008-11-17 20:16:08

flash_area_type flash_area_list[] =
{
//--------- ---------- ----------- ------------
//chip_size area_name area_start area_length
//--------- ---------- ----------- ------------
{ size1MB, "CFE", 0x1FC00000, 0x40000 },
{ size2MB, "CFE", 0x1FC00000, 0x40000 },
{ size4MB, "CFE", 0x1FC00000, 0x40000 },
{ size8MB, "CFE", 0x1F800000, 0x40000 },
{ size16MB, "CFE", 0x1F000000, 0x40000 },
// for tiny CFE
{ size1MB, "TFE", 0x1FC00000, 0x10000 },
{ size2MB, "TFE", 0x1FC00000, 0x10000 },
{ size4MB, "TFE", 0x1FC00000, 0x10000 },
{ size8MB, "TFE", 0x1F800000, 0x10000 },
{ size16MB, "TFE", 0x1F000000, 0x20000 },

{ size1MB, "KERNEL", 0x1FC40000, 0xB0000 },
{ size2MB, "KERNEL", 0x1FC40000, 0x1B0000 },
{ size4MB, "KERNEL", 0x1FC40000, 0x3B0000 },
{ size8MB, "KERNEL", 0x1F840000, 0x7A0000 },
{ size16MB, "KERNEL", 0x1F040000, 0xFA0000 },
// for tiny CFE
{ size1MB, "TERNEL", 0x1FC10000, 0xE0000 },
{ size2MB, "TERNEL", 0x1FC10000, 0x1E0000 },
{ size4MB, "TERNEL", 0x1FC10000, 0x3E0000 },
{ size8MB, "TERNEL", 0x1F810000, 0x7D0000 },
{ size16MB, "TERNEL", 0x1F020000, 0xFD0000 },

{ size1MB, "NVRAM", 0x1FCF0000, 0x10000 },
{ size2MB, "NVRAM", 0x1FDF0000, 0x10000 },
{ size4MB, "NVRAM", 0x1FFF0000, 0x10000 },
{ size8MB, "NVRAM", 0x1FFF0000, 0x10000 },
{ size16MB, "NVRAM", 0x1FFE0000, 0x20000 },

{ size1MB, "WHOLEFLASH", 0x1FC00000, 0x100000 },
{ size2MB, "WHOLEFLASH", 0x1FC00000, 0x200000 },
{ size4MB, "WHOLEFLASH", 0x1FC00000, 0x400000 },
{ size8MB, "WHOLEFLASH", 0x1F800000, 0x800000 },
{ size16MB, "WHOLEFLASH", 0x1F000000, 0x1000000 },

1325行

   if (flash_size >= size16MB) FLASH_MEMORY_START = 0x1F000000;
          else if (flash_size >= size8MB) FLASH_MEMORY_START = 0x1F800000;
          else FLASH_MEMORY_START = 0x1FC00000;

hugebird 发表于 2008-12-2 23:21:25

1.2测试版,

暂不要用erase和flash命令

[ 本帖最后由 hugebird 于 2008-12-2 15:57 编辑 ]

天涯 发表于 2008-12-3 02:34:47

辛苦了,hugebird :)

天涯 发表于 2008-12-3 05:17:20

信息如下:辛苦你再改一下程序,谢谢

=============================================
Broadcom EJTAG Debrick Utility v1.2-hugebird
=============================================
Probing bus ... Done
Instruction Length set to 5
CPU running under BIG endian
CPU Chip ID: 00000110001101011000000101111111 (0635817F)
*** Found a Broadcom BCM6358 Rev 1 CPU chip ***
    - EJTAG IMPCODE ....... : 00000000100000011000100100000100 (00818904)
    - 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 did NOT enter Debug Mode!> ... Done
Clearing Watchdog ... Done
Probing Flash at (Flash Window: 0x1fc00000) ...
Match Flash Chip (VenID:DevID = 017e : 2101)
*** Found a Spansion S29GL128N/P Uni(16MB) Flash Chip ***
    - Flash Chip Window Start .... : 1f000000
    - Flash Chip Window Length ... : 01000000
    - Selected Area Start ........ : 00000000
    - Selected Area Length ....... : 00000000

Flash Sector Protection type 1
DMA Read Addr = 1f000000Data = (00000000)ERROR ON READ
Read Lock Register Status: 0000000000000000 (0000)
DMA Read Addr = 1f000000Data = (00000000)ERROR ON READ
Read Globle PPB Lock Status: 0000000000000000 (0000)
DMA Read Addr = 1f000000Data = (00000000)ERROR ON READ
Read Sector: 1 (addr = 1f000000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f020000Data = (00000000)ERROR ON READ
Read Sector: 2 (addr = 1f020000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f040000Data = (00000000)ERROR ON READ
Read Sector: 3 (addr = 1f040000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f060000Data = (00000000)ERROR ON READ
Read Sector: 4 (addr = 1f060000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f080000Data = (00000000)ERROR ON READ
Read Sector: 5 (addr = 1f080000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f0a0000Data = (00000000)ERROR ON READ
Read Sector: 6 (addr = 1f0a0000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f0c0000Data = (00000000)ERROR ON READ
Read Sector: 7 (addr = 1f0c0000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f0e0000Data = (00000000)ERROR ON READ
Read Sector: 8 (addr = 1f0e0000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f100000Data = (00000000)ERROR ON READ
Read Sector: 9 (addr = 1f100000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f120000Data = (00000000)ERROR ON READ
Read Sector: 10 (addr = 1f120000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f140000Data = (00000000)ERROR ON READ
Read Sector: 11 (addr = 1f140000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f160000Data = (00000000)ERROR ON READ
Read Sector: 12 (addr = 1f160000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f180000Data = (00000000)ERROR ON READ
Read Sector: 13 (addr = 1f180000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f1a0000Data = (00000000)ERROR ON READ
Read Sector: 14 (addr = 1f1a0000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f1c0000Data = (00000000)ERROR ON READ
Read Sector: 15 (addr = 1f1c0000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f1e0000Data = (00000000)ERROR ON READ
Read Sector: 16 (addr = 1f1e0000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f200000Data = (00000000)ERROR ON READ
Read Sector: 17 (addr = 1f200000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f220000Data = (00000000)ERROR ON READ
Read Sector: 18 (addr = 1f220000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f240000Data = (00000000)ERROR ON READ
Read Sector: 19 (addr = 1f240000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f260000Data = (00000000)ERROR ON READ
Read Sector: 20 (addr = 1f260000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f280000Data = (00000000)ERROR ON READ
Read Sector: 21 (addr = 1f280000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f2a0000Data = (00000000)ERROR ON READ
Read Sector: 22 (addr = 1f2a0000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f2c0000Data = (00000000)ERROR ON READ
Read Sector: 23 (addr = 1f2c0000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f2e0000Data = (00000000)ERROR ON READ
Read Sector: 24 (addr = 1f2e0000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f300000Data = (00000000)ERROR ON READ
Read Sector: 25 (addr = 1f300000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f320000Data = (00000000)ERROR ON READ
Read Sector: 26 (addr = 1f320000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f340000Data = (00000000)ERROR ON READ
Read Sector: 27 (addr = 1f340000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f360000Data = (00000000)ERROR ON READ
Read Sector: 28 (addr = 1f360000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f380000Data = (00000000)ERROR ON READ
Read Sector: 29 (addr = 1f380000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f3a0000Data = (00000000)ERROR ON READ
Read Sector: 30 (addr = 1f3a0000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f3c0000Data = (00000000)ERROR ON READ
Read Sector: 31 (addr = 1f3c0000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f3e0000Data = (00000000)ERROR ON READ
Read Sector: 32 (addr = 1f3e0000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f400000Data = (00000000)ERROR ON READ
Read Sector: 33 (addr = 1f400000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f420000Data = (00000000)ERROR ON READ
Read Sector: 34 (addr = 1f420000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f440000Data = (00000000)ERROR ON READ
Read Sector: 35 (addr = 1f440000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f460000Data = (00000000)ERROR ON READ
Read Sector: 36 (addr = 1f460000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f480000Data = (00000000)ERROR ON READ
Read Sector: 37 (addr = 1f480000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f4a0000Data = (00000000)ERROR ON READ
Read Sector: 38 (addr = 1f4a0000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f4c0000Data = (00000000)ERROR ON READ
Read Sector: 39 (addr = 1f4c0000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f4e0000Data = (00000000)ERROR ON READ
Read Sector: 40 (addr = 1f4e0000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f500000Data = (00000000)ERROR ON READ
Read Sector: 41 (addr = 1f500000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f520000Data = (00000000)ERROR ON READ
Read Sector: 42 (addr = 1f520000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f540000Data = (00000000)ERROR ON READ
Read Sector: 43 (addr = 1f540000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f560000Data = (00000000)ERROR ON READ
Read Sector: 44 (addr = 1f560000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f580000Data = (00000000)ERROR ON READ
Read Sector: 45 (addr = 1f580000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f5a0000Data = (00000000)ERROR ON READ
Read Sector: 46 (addr = 1f5a0000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f5c0000Data = (00000000)ERROR ON READ
Read Sector: 47 (addr = 1f5c0000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f5e0000Data = (00000000)ERROR ON READ
Read Sector: 48 (addr = 1f5e0000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f600000Data = (00000000)ERROR ON READ
Read Sector: 49 (addr = 1f600000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f620000Data = (00000000)ERROR ON READ
Read Sector: 50 (addr = 1f620000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f640000Data = (00000000)ERROR ON READ
Read Sector: 51 (addr = 1f640000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f660000Data = (00000000)ERROR ON READ
Read Sector: 52 (addr = 1f660000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f680000Data = (00000000)ERROR ON READ
Read Sector: 53 (addr = 1f680000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f6a0000Data = (00000000)ERROR ON READ
Read Sector: 54 (addr = 1f6a0000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f6c0000Data = (00000000)ERROR ON READ
Read Sector: 55 (addr = 1f6c0000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f6e0000Data = (00000000)ERROR ON READ
Read Sector: 56 (addr = 1f6e0000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f700000Data = (00000000)ERROR ON READ
Read Sector: 57 (addr = 1f700000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f720000Data = (00000000)ERROR ON READ
Read Sector: 58 (addr = 1f720000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f740000Data = (00000000)ERROR ON READ
Read Sector: 59 (addr = 1f740000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f760000Data = (00000000)ERROR ON READ
Read Sector: 60 (addr = 1f760000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f780000Data = (00000000)ERROR ON READ
Read Sector: 61 (addr = 1f780000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f7a0000Data = (00000000)ERROR ON READ
Read Sector: 62 (addr = 1f7a0000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f7c0000Data = (00000000)ERROR ON READ
Read Sector: 63 (addr = 1f7c0000) with PPB:0000000000000000 (0000)
DMA Read Addr = 1f7e0000Data = (00000000)ERROR ON READ
Read Sector: 64 (addr = 1f7e0000) with PPB:0000000000000000 (0000)
Read Sector: 65 (addr = 1f800000) with PPB:0000000000000000 (0001)
Read Sector: 66 (addr = 1f820000) with PPB:0000000000000000 (0001)
Read Sector: 67 (addr = 1f840000) with PPB:0000000000000000 (0001)
Read Sector: 68 (addr = 1f860000) with PPB:0000000000000000 (0001)
Read Sector: 69 (addr = 1f880000) with PPB:0000000000000000 (0001)
Read Sector: 70 (addr = 1f8a0000) with PPB:0000000000000000 (0001)
Read Sector: 71 (addr = 1f8c0000) with PPB:0000000000000000 (0001)
Read Sector: 72 (addr = 1f8e0000) with PPB:0000000000000000 (0001)
Read Sector: 73 (addr = 1f900000) with PPB:0000000000000000 (0001)
Read Sector: 74 (addr = 1f920000) with PPB:0000000000000000 (0001)
Read Sector: 75 (addr = 1f940000) with PPB:0000000000000000 (0001)
Read Sector: 76 (addr = 1f960000) with PPB:0000000000000000 (0001)
Read Sector: 77 (addr = 1f980000) with PPB:0000000000000000 (0001)
Read Sector: 78 (addr = 1f9a0000) with PPB:0000000000000000 (0001)
Read Sector: 79 (addr = 1f9c0000) with PPB:0000000000000000 (0001)
Read Sector: 80 (addr = 1f9e0000) with PPB:0000000000000000 (0001)
Read Sector: 81 (addr = 1fa00000) with PPB:0000000000000000 (0001)
Read Sector: 82 (addr = 1fa20000) with PPB:0000000000000000 (0001)
Read Sector: 83 (addr = 1fa40000) with PPB:0000000000000000 (0001)
Read Sector: 84 (addr = 1fa60000) with PPB:0000000000000000 (0001)
Read Sector: 85 (addr = 1fa80000) with PPB:0000000000000000 (0001)
Read Sector: 86 (addr = 1faa0000) with PPB:0000000000000000 (0001)
Read Sector: 87 (addr = 1fac0000) with PPB:0000000000000000 (0001)
Read Sector: 88 (addr = 1fae0000) with PPB:0000000000000000 (0001)
Read Sector: 89 (addr = 1fb00000) with PPB:0000000000000000 (0001)
Read Sector: 90 (addr = 1fb20000) with PPB:0000000000000000 (0001)
Read Sector: 91 (addr = 1fb40000) with PPB:0000000000000000 (0001)
Read Sector: 92 (addr = 1fb60000) with PPB:0000000000000000 (0001)
Read Sector: 93 (addr = 1fb80000) with PPB:0000000000000000 (0001)
Read Sector: 94 (addr = 1fba0000) with PPB:0000000000000000 (0001)
Read Sector: 95 (addr = 1fbc0000) with PPB:0000000000000000 (0001)
Read Sector: 96 (addr = 1fbe0000) with PPB:0000000000000000 (0001)
Read Sector: 97 (addr = 1fc00000) with PPB:0000000000000000 (0001)
Read Sector: 98 (addr = 1fc20000) with PPB:0000000000000000 (0001)
Read Sector: 99 (addr = 1fc40000) with PPB:0000000000000000 (0001)
Read Sector: 100 (addr = 1fc60000) with PPB:0000000000000000 (0001)
Read Sector: 101 (addr = 1fc80000) with PPB:0000000000000000 (0001)
Read Sector: 102 (addr = 1fca0000) with PPB:0000000000000000 (0001)
Read Sector: 103 (addr = 1fcc0000) with PPB:0000000000000000 (0001)
Read Sector: 104 (addr = 1fce0000) with PPB:0000000000000000 (0001)
Read Sector: 105 (addr = 1fd00000) with PPB:0000000000000000 (0001)
Read Sector: 106 (addr = 1fd20000) with PPB:0000000000000000 (0001)
Read Sector: 107 (addr = 1fd40000) with PPB:0000000000000000 (0001)
Read Sector: 108 (addr = 1fd60000) with PPB:0000000000000000 (0001)
Read Sector: 109 (addr = 1fd80000) with PPB:0000000000000000 (0001)
Read Sector: 110 (addr = 1fda0000) with PPB:0000000000000000 (0001)
Read Sector: 111 (addr = 1fdc0000) with PPB:0000000000000000 (0001)
Read Sector: 112 (addr = 1fde0000) with PPB:0000000000000000 (0001)
Read Sector: 113 (addr = 1fe00000) with PPB:0000000000000000 (0001)
Read Sector: 114 (addr = 1fe20000) with PPB:0000000000000000 (0001)
Read Sector: 115 (addr = 1fe40000) with PPB:0000000000000000 (0001)
Read Sector: 116 (addr = 1fe60000) with PPB:0000000000000000 (0001)
Read Sector: 117 (addr = 1fe80000) with PPB:0000000000000000 (0001)
Read Sector: 118 (addr = 1fea0000) with PPB:0000000000000000 (0001)
Read Sector: 119 (addr = 1fec0000) with PPB:0000000000000000 (0001)
Read Sector: 120 (addr = 1fee0000) with PPB:0000000000000000 (0001)
Read Sector: 121 (addr = 1ff00000) with PPB:0000000000000000 (0001)
Read Sector: 122 (addr = 1ff20000) with PPB:0000000000000000 (0001)
Read Sector: 123 (addr = 1ff40000) with PPB:0000000000000000 (0001)
Read Sector: 124 (addr = 1ff60000) with PPB:0000000000000000 (0001)
Read Sector: 125 (addr = 1ff80000) with PPB:0000000000000000 (0001)
Read Sector: 126 (addr = 1ffa0000) with PPB:0000000000000000 (0001)
Read Sector: 127 (addr = 1ffc0000) with PPB:0000000000000000 (0001)
Read Sector: 128 (addr = 1ffe0000) with PPB:0000000000000000 (0001)

*** REQUESTED OPERATION IS COMPLETE ***


附件:
页: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14
查看完整版本: Broadcom路由DSL猫用的JTAG工具最新版