找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 1279|回复: 3

通过 Jlink V8 + OpenOCD 对 MT7620 修砖

[复制链接]
一直有朋友在寻找MT7620的JTAG调试方法(或者想通过JTAG对变砖的u-boot进行修复)。很多人认为Jlink V8没法对mips32进行硬件级的调试,今天我就来创造一下奇迹!

OpenOCD针对MT7620的配置文件
保存为 openocd-mt7620-jlink.cfg

# for mt7620, powered by manfeel
set  _CHIPNAME mt762x

# little endian
set  _ENDIAN little

set _TARGETNAME $_CHIPNAME.cpu

set _CPUTAPID 0x1635224f

#daemon configuration
telnet_port 4444
gdb_port 3333

#interface
interface jlink

#jtag_speed 0
adapter_khz 500

jtag_nsrst_delay 100
jtag_ntrst_delay 100

jtag newtap $_CHIPNAME cpu -irlen 5 -ircapture 0x1 -irmask 0x1f -expected-id $_CPUTAPID
       
target create $_TARGETNAME mips_m4k -endian little -chain-position $_TARGETNAME

$_TARGETNAME configure -event gdb-attach {
   halt
}

$_TARGETNAME configure -event gdb-attach {
   reset init
}

$_TARGETNAME configure -event reset-init {
        # manfeel, call ralink_init
        ralink_init
}

proc ralink_init { } {

        # ==================================================
        echo "Manfeel notes, pll initialization @ 580Mhz"

        mww 0xb0000058 0x00e3c000
        mww 0xb0000054 0x8005a070
       
        sleep 2
       
        mww 0xb0000058 0x05e3c000
        mww 0xb0000054 0x8005a070
       
        sleep 2
       
        mww 0xb0000058 0x01810000
        mww 0xb0000058 0x00e3c000
       
        # ==================================================

        echo "Manfeel notes, setup DDR2 RAM with 64M Bytes"

        sleep 200                        
        mww 0xb0000014 0x260c50f

        # DDR initialization: reset pin to 0
        sleep 1
        mww 0xb0000034 0x0
        sleep 1
        mww 0xb0000348 0x68000c43
        sleep 1
        mww 0xb0000350 0x9
        sleep 1
        mww 0xb0000348 0x68000c43
        sleep 1
        mww 0xb000034c 0x00000416
        sleep 1
        mww 0xb0000350 0x0000000a
        sleep 1
        mww 0xb0000368 0x40404848
        sleep 1
        mww 0xb0000340 0x249aa2e5
        sleep 1
        mww 0xb0000344 0x22322323
        sleep 1
        #manfeel notes: MUST be 0x3ffff NOT 1
        mww 0xb000031c 0x3ffff
        sleep 1
        #manfeel nots: MUST be 0x0e120003 NOT 0x0e120013
        mww 0xb0000318 0x0e120003
}

proc run_uboot { } {
        halt
        sleep 1
        load_image /Users/manfeel/works/uboot_ralink/uboot.img 0x801fffc0
        resume 0x80200000
}

运行 openocd
openocd -f openocd-mt7620-jlink.cfg

运行 telnet
telnet localhost 4444

telnet终端中依次输入
halt
reset init
run_uboot

就能够加载uboot.img(RAM版本)并运行之。
剩下的事情就不用我提醒了 ^_^
---------------------
作者:Manfeel
来源:CSDN
原文:https://blog.csdn.net/manfeel/article/details/86683279
版权声明:本文为博主原创文章,转载请附上博文链接!

 楼主| | 显示全部楼层
占  楼   备   用
回复

使用道具 举报

 楼主| | 显示全部楼层
占  楼   备   用
回复

使用道具 举报

这个挺有创新性,收藏一下,那天得空我也尝试下,谢谢楼主……
回复

使用道具 举报

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

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

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

GMT+8, 2024-5-14 15:21

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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