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

2020-07-01来源: eefocus关键字:JLink  ADS1  2调试  uboot

刚开始想通过Nor Flash中的supervivi+DNW的“Download & Run 功能”将uboot.bin下到SDRAM进行调试,但是由于笔记本已经被装成ubuntu + Virtualbox(Windows XP),将supervivi阶段的USB下载设备分配进Virtualbox(Windows XP)后提示“不能分配 USB设备 System MCU SEC S3C2410X Test B/D [0100] 到虚拟电脑 Windows XP Workstation.Failed to create a proxy device for the USB device. (Error: VERR_READ_ERROR).”,而U盘等其他USB设备可以正常分配进虚拟机。由于能力有限google半天也没有解决,据网上牛人说法是由于Virtualbox对USB设备支持不是很好,分配网银U盾之类的USB设备也存在该问题,不懂VMware有没该问题。因此只能另某其他调试方法,当初买开发板时也顺带买了一根山寨版的OpenJTAG,利用之。移植uboot过程中,在串口初始化完成并能正常打印log前可以利用JLink配合“代码点灯法”进行调试,也可以利用uboot写NAND FLASH的功能将调好的固件写入NAND FLASH。


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:ubootuboot-git-denxu-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:ubootuboot-git-denxu-boot.bin 0x30000000

        Debug>setpc 0x30000000

        Debug>run

关键字:JLink  ADS1  2调试  uboot 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic501778.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:使用Jlink仿真及ADS1.2调试(ok2440)
下一篇:UCOS_II的移植到S3C2440 ADS 1.2

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

KEIL+JLINK+Small2440下的SDRAM调试配置
下。其中设置默认就行了。有人说要改变AXF输出文件名字。自己试了下,至少在进行SDRAM调试时是不需要进行设置的。默认的就行。然后点击Settings进行JLINK设置。最后是Utilities的设置。这里因为用到SDRAM中调试,所以图中的选项不要勾选。以上一切都是针对SDRAM调试中的设置,FLASH下载还没有试过。最后给出我的MDK版本信息。
发表于 2020-07-03
KEIL+JLINK+Small2440下的SDRAM<font color='red'>调试</font>配置
为mini2440开发板建立Keil MDK/Jlink开发调试环境
新建Keil工程,device选择三星的s3c2440。询问”是否将启动代码拷贝到工程目录”,选择是。在工程配置的Target标签页中做如下配置:确定后编写主函数并编译工程。假如没有错误,打开工程目录下的”工程名.sct”文件,就会发现ROM1的0×30000000就是程序的入口地址,对应启动代码中的”RESET”。安装Jlink驱动后,在Keil的debug标签中选择”J-link/J-Trace”作为调试工具。在Initialization File文本框中选择调试的初始化文件。打开初始化文件,将文件最后的”LOAD .XXX.axf”,中的XXX替换为自己工程目录下的axf文件名。在Utilities标签页中,选择J
发表于 2020-07-02
使用Jlink仿真及ADS1.2调试(ok2440)
1.将Jlink PC ok2440连接起来2.给ok2440上电3.打开Jlink程序中的J-link ARM v4.08k(可观察到jlink的型号及CPU的各种参数) 并打开DNW 按任意键不要让开发板进入操作系统4.打开ADS CodeWarrior for ARM 载入镜像  可先将工程中的code值先去除 project-remove project code 在点make按钮 在弹出的窗口中没错误后可 点debug来调试  进入AXD 在options-configure target中选择multi-ICE 确定 进入 然后load image-全速执行也可以单步执行(在使用ADS仿真时先要
发表于 2020-07-01
ADS1.2使用jlink调试程序(调试芯片s3c2440 arm9)
一、软件安装ADS1.2下载:http://down.drv5.cn/www.drv5.cn/arm ads1.2.rarjlink驱动下载:http://fastsoft.onlinedown.net/down/JLink_Windows_V630d.exeS3C2440led裸机程序(GT2440开发板的):https://download.csdn.net/download/u012577474/11249524下载,安装上面的3个软件。二、CodeWarrior编辑arm程序ADS安装后,会安装以下这些工具。这里先打开CodeWarrior,导入我们的led裸机程序。程序目录:导入程序:二、AXD使用J-link调试程序
发表于 2020-06-30
<font color='red'>ADS1</font>.2使用jlink调试程序(调试芯片s3c2440 arm9)
s3c2440.jflash项目的配置(使用jlink下载boot到norflash)
J-Flash ARM的配置。一般说来file–>open project里面会找到一些*.jflash的配置文件,加载他们就行了,但是没找到适合S3C2440的。所以自己建了一个MINI2440.jflash,手动进行配置:j-link设置1.打开J-Flash ARM,并进入菜单:Options–>Project settings2.主要设置CPU选项和Flash选项CPU :Core --> ARM9, Little endianUse target RAM(faster)–>Addr:40000000 4KB(不选很慢;从Nor flash启动时内部Boot SRAM的地址和大小,参考
发表于 2020-06-29
s3c2440.jflash项目的配置(使用<font color='red'>jlink</font>下载boot到norflash)
Win7 64 ADS1.2 编译弹出Error
starting extrnal proces. Process Error Code 87 (0x57)这个是ADS兼容性问题,可以自安装的bin目录下找到IDE.exe文件,以兼容xp sp3 并且以管理员身份运行运行,然后重启工程就可以了。复制的工程在ADS1.2下link时找不到*****.o如果项目移动到另外一个文件夹后,在重新编译之前,要选择菜单Project --> Remove Object Code… ,在弹出的对话框中按"ALL Tagerts"来删除原来编译生成的*.o文件,这样就能编译成功。还有一个有些设置了只读属性,要自己更改文件属性。注意:编译的文件一定要在英文目录,尤其
发表于 2020-06-29
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved