采用JLink+ADS1.2调试uboot的方法


1.使用JLink+mini2440调试uboot

    1.1.安装JLink驱动,我装的是JLinkARM_V402

    1.2.连接硬件

    1.3.运行 开始->所有程序->SEGGER->J-Link Commander

           

    1.4.设置TCK为12kHz,以提高下载速度

        J-Link>speed 12000

    1.5.下载并运行用来初始化mini2440SDRAM的init.bin(这是买OpenJTAG时光盘附带的用来初始化S3C2410、S3C2440的SDRAM的,没有这个init.bin的话可以用下面的JLink+AXD的方法进行调试uboot),这里将init.bin放于C盘,并采用NAND FLASH启动,若是采用NOR FLASH启动,则下载到0x40000000运行

        J-Link>loadbin C:\init.bin 0

        J-Link>setpc 0

        J-Link>g

    1.6.这时停止init.bin运行后,就可以将uboot.bin下载到SDRAM运行调试了(注:直接运行于SDRAM进行调试的uboot需要在相应的板级配置文件中定义CONFIG_SKIP_LOWLEVEL_INIT,以跳过底层的一些初始化代码。这里我将uboot的加载运行地址设置为0x30000000)

        J-Link>h

        J-Link>loadbin F:\uboot\uboot-git-denx\u-boot.bin 0x30000000

        J-Link>setpc 0x30000000

        J-Link>g


2.使用JLink+ADS1.2+mini2440调试uboot

    2.1.安装ADS1.2和JLink驱动驱动

    2.3.打开ADS1.2,添加Jlink。

        选择Options->Configure Target

        ei

        点击“Add”

        

        选择JLINK安装目录,选中JLinkRDI.dll

        

    2.4.配置Jlink

        选中上一步添加的JLinkRDI.dll,选择右边的Configure,对JLink进行配置

        

        跳转到JTAG选项,设置频率为12000kHz

        

        跳转到Flash选项,如下图取消勾选。

        

        跳转Breakpoints,如下图配置

        

        跳转到CPU选项,如下图设置

        

        至此配置完成,选择“确定”,跳回AXD界面,此时如果已经通过JTAG将PC与目标板进行连接,显示如下连接信息。

        

    2.5.设置MINI2440 SDRAM存储器寄存器。

        选择MINI2440,nand启动方式,使用需要先对SDRAM控制器进行设置,在AXD下设置方法是,选择systems views->command lines interface,输入如下命令对寄存器进行设置

            setmem  0x53000000 0x00000000  32 
            setmem  0x4A000008 0xFFFFFFFF  32 
            setmem  0x4A00001C 0x000007FF  32 
            setmem  0x53000000 0x00000000  32
            setmem  0x56000050 0x000055AA  32 
            setmem  0x4C000014 0x00000007  32 
            setmem  0x4C000000 0x00FFFFFF  32 
            setmem  0x4C000004 0x00061012  32 
            setmem  0x4C000008 0x00040042  32 
            setmem  0x48000000 0x22111120  32 
            setmem  0x48000004 0x00002F50  32 
            setmem  0x48000008 0x00000700  32 
            setmem  0x4800000C 0x00000700  32 
            setmem  0x48000010 0x00000700  32 
            setmem  0x48000014 0x00000700  32 
            setmem  0x48000018 0x0007FFFC  32 
            setmem  0x4800001C 0x00018005  32 
            setmem  0x48000020 0x00018005  32 
            setmem  0x48000024 0x008E0459  32 
            setmem  0x48000028 0x00000032  32 
            setmem  0x4800002C 0x00000030  32 
            setmem  0x48000030 0x00000030  32

    为避免每次都输入上面一大串命令,可以将要上面的设置的寄存器命令写入一个文件(config_mini2440.txt),在命令行用ob config_mini2440.txt即可批量执行设置,或者在AXD的options‐>Configure Interface中做如下设置,这样启动AXD的时候就可以自动运行上面的脚本完成寄存器初始化了。

        

    2.6.加载uboot.bin,并运行

        ConfigureInterface中输入

        Debug>loadbinary F:\uboot\uboot-git-denx\u-boot.bin 0x30000000

        Debug>setpc 0x30000000

        Debug>run

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值