找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 10862|回复: 8

如何修改openocd.cfg配置文件?---》》》求解!

[复制链接]
发表于 2014-11-18 16:44 | 显示全部楼层 |阅读模式
由于路由器的flash只有4M,RAM只有16M,而且是16bit,与HG255D有差别,以下内容是来自HG255D的openocd配置文件,该如何修改?求解

PS:尝试过修改蓝色部分成400000,依然无法识别flash。

------------------------------------------
set  _CHIPNAME rt3052
set  _ENDIAN little

#daemon configuration
telnet_port 4444
gdb_port 3333
#interface
interface parport
parport_port 0x378
parport_cable wiggler
#jtag_speed 0
adapter_khz 500
set _CPUTAPID 0x1335024F
jtag_nsrst_delay 100
jtag_ntrst_delay 100

#jtag newtap rt30xx cpu -irlen 5 -ircapture 0x1 -irmask 0x1f -expected-id 1

jtag newtap rt30xx cpu -irlen 5 -ircapture 0x1 -irmask 0x1f -expected-id 0x1305224f
        
target create rt30xx.cpu mips_m4k -endian little -chain-position rt30xx.cpu

rt30xx.cpu configure -event reset-halt-post {
        #set memory
       mww 0x10000300 0xD1825272
        sleep 10
        mww 0x10000304 0xE0120600
        halt
}

rt30xx.cpu configure -event reset-init {
        halt
        #set memory
        mww 0x10000300 0xD1825272
        sleep 1
       mww 0x10000304 0xE1110600

        sleep 10000                         ;# wait for lock
        halt
        sleep 1
        flash probe 0
}

proc ralink_init { } {
        halt
        sleep 10
        mww 0x10000300 0xD1825272
        sleep 1
        mww 0x10000304 0xE0120600       ;# Set Memory 32Mbyte in 32Bit(16MBx16bitx2)
        sleep 1                        

}

proc erase_uboot { } {
flash probe 0
flash erase_sector 0 0 4
}

proc flash_uboot { } {
ralink_init
sleep 1
flash probe 0
flash write_bank 0 uboot.bin 0
}

rt30xx.cpu configure -work-area-phys 0x00000000 -work-area-size 0x100000  -work-area-backup 0

flash bank rt30xx.flash cfi 0xbf000000 0x1000000 2 2  rt30xx.cpu
我的恩山、我的无线 The best wifi forum is right here.
发表于 2014-11-24 21:40 | 显示全部楼层
本帖最后由 eraghjk 于 2014-11-27 20:21 编辑

我有个rt3052+8M+64M的路由刷uboot刷砖了,参考hg255d的jtag救砖教程救砖成功,不是直接在jtag刷uboot,而是网上找源码编译ram版uboot,通过jtag写入内存中运行,再在uboot刷rom版的uboot
# flash bank <driver> <base> <size> <chip_width> <bus_width>

#flash bank rt30xx.flash cfi 0x1f000000 0x1000000 2 2  rt30xx.cpu
flash bank rt30xx.flash cfi 0xbf000000 0x0400000 2 2  rt30xx.cpu

#flash probe 0

<del>根据openocd注释改闪存大小把红字部分可以识别闪存但是在“flash probe 0”失败</del>,
+++++++++红字部分是flash地址不能改,蓝字部分大小不对会有警告但仍可识别,改成警告中显示的大小即可
随即改刷ram版uboot


        mww 0x10000300 0xD1825272
        sleep 1
        mww 0x10000304 0xE0120600       ;# Set Memory 32Mbyte in 32Bit(16MBx16bitx2)
        sleep 1                         ;# wait for lock


这部分是在设置内存控制寄存器使内存可用,这个设置在32MB×16bit×2也可用
如果是“flash只有4M,RAM只有16M,而且是16bit”,可能还要根据rt3052的datasheet中的“3.15  Memory Controller”这一部分修改


点评

RAM版uboot在哪里下载的?  详情 回复 发表于 2015-6-22 12:19
感谢您的回复! 修改了设置内存控制寄存器使内存可用,可以列出flash banks,但显示前#0-9bank 是8K/bank,后#10-70 bank是64K/bank....大概是这样吧,这就有点纳闷,尝试格式化#0-10 好像也可以格式化,就  详情 回复 发表于 2014-11-24 22:16
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2014-11-24 22:16 | 显示全部楼层
eraghjk 发表于 2014-11-24 21:40
我有个rt3052+8M+64M的路由刷uboot刷砖了,参考hg255d的jtag救砖教程救砖成功,不是直接在jtag刷uboot,而 ...

感谢您的回复!
修改了设置内存控制寄存器使内存可用,可以列出flash banks,但显示前#0-9bank 是8K/bank,后#10-70 bank是64K/bank....大概是这样吧,这就有点纳闷,尝试格式化#0-10 好像也可以格式化,就是写进128K的uboot的时候出错。明天继续研究你给提示,看看datasheet,找下ram版uboot。。。都怪之前没有做好备份就把原版给擦了。。。

点评

直接在jtag下刷flash设置麻烦又比较慢,如果内存可以了就直接刷ram的uboot吧,这个比较快但需要TTL线 https://gitorious.org/wive-rtnl-ralink-rt305x-routers-firmware 我现在用的uboot和jtag刷的ram版uboot都是  详情 回复 发表于 2014-11-24 22:32
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-11-24 22:32 | 显示全部楼层
ffmx5 发表于 2014-11-24 22:16
感谢您的回复!
修改了设置内存控制寄存器使内存可用,可以列出flash banks,但显示前#0-9bank ...

直接在jtag下刷flash设置麻烦又比较慢,如果改设置后内存可以用了就直接刷ram的uboot吧,这个比较快但需要TTL线
https://gitorious.org/wive-rtnl-ralink-rt305x-routers-firmware
我现在用的uboot和jtag刷的ram版uboot都是在这个项目下找的源码编译的

点评

嗯 这也是个办法,但uboot修改编译还不会,看来得慢慢来了~有点事情做做,挺好  详情 回复 发表于 2014-11-25 08:53
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2014-11-25 08:53 | 显示全部楼层
eraghjk 发表于 2014-11-24 22:32
直接在jtag下刷flash设置麻烦又比较慢,如果改设置后内存可以用了就直接刷ram的uboot吧,这个比较快但需 ...

嗯 这也是个办法,但uboot修改编译还不会,看来得慢慢来了~有点事情做做,挺好

点评

这个项目的uboot编译很简单的,配置好toolchain后直接在Uboot源码文件夹下想openwrt编译那样make menucongfig就好了,芯片型号、内存容量、位宽、闪存类型、rom\ram运行都可选的,ralink系列的除了归到mtk后的mt7620  详情 回复 发表于 2014-11-25 09:04
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-11-25 09:04 | 显示全部楼层
本帖最后由 eraghjk 于 2014-11-25 13:46 编辑
ffmx5 发表于 2014-11-25 08:53
嗯 这也是个办法,但uboot修改编译还不会,看来得慢慢来了~有点事情做做,挺好

这个项目的uboot编译很简单的,配置好toolchain后直接在Uboot源码文件夹下想openwrt编译那样make menucongfig之后make V=99就好了,芯片型号、内存容量、位宽、闪存类型、rom\ram运行都可选的,ralink系列的除了归到mtk后的mt7620都有,用不着修改源码,会下openwrt源码编译固件也就会编译这个uboot了


本帖子中包含更多资源

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

×
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-11-27 20:53 | 显示全部楼层
本帖最后由 eraghjk 于 2014-11-27 21:02 编辑

# flash bank <driver> <base> <size> <chip_width> <bus_width>

#flash bank rt30xx.flash cfi 0x1f000000 0x1000000 2 2  rt30xx.cpu
flash bank rt30xx.flash cfi 0xbf000000 0x0400000 2 2  rt30xx.cpu

#flash probe 0


之前改错了,把<base>的0xbf000000改掉导致识别失败,改回来后不改<size>的话会有warning提示正确的size,但擦除正常,改<size>后warning消失、擦除正常
因为砖机还有别的硬件故障无法正常刷写新的uboot,无法验证4M的FLASH是否只要改<size>=0x0400000就能一切正常
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2015-6-22 12:19 来自手机 | 显示全部楼层
eraghjk 发表于 2014-11-24 21:40
我有个rt3052+8M+64M的路由刷uboot刷砖了,参考hg255d的jtag救砖教程救砖成功,不是直接在jtag刷uboot,而 ...

RAM版uboot在哪里下载的?

点评

用于HG255D JTAG的RAM版U-BOOT 这是lintel发布的RAM版uboot 也可以找ralink的uboot源码编译  详情 回复 发表于 2015-6-22 13:18
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2015-6-22 13:18 | 显示全部楼层
261307853 发表于 2015-6-22 12:19
RAM版uboot在哪里下载的?

用于HG255D JTAG的RAM版U-BOOT
这是lintel发布的RAM版uboot
也可以找ralink的uboot源码编译
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-25 15:15

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

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