调试 s3c2440 uboot准备工作2:利用ADS调试uboot

前面利用J-flash软件把uboot.bin下载到norflash上面了,然后就可以利用ads 来进行单步调试uboot程序(2440要选择norflash启动,先调试从norflash启动uboot)。安装完ads1.2以后,会有如下图标:

                                                                                         

打开AXD Debugger软件,进入option选项的configure target选项,点击add选项,添加Multi-ICE 目标:

                                        

在configure选项里面做一些配置:

                                  

                              

 

                                     

配置完成以后,连接2440的jtag口,应该会在axd的log窗口,看到如下信息:

                                

说明识别成功,可以开始调试。每次打开AXD软件,都会出现target device setting,对于2440,选择arm9即可:

                                               

axd有debug命令行输入串口,可以输入一些命令来控制cpu。上一章利用jflash 烧录uboot.bin到norflash中,物理地址为0。所以我们可以设置pc的值为0,让cpu从0地址直接从norflash开始执行,网上有很多教程是先下载到ram进行debug,因为想到后期uboot还是要反到flash中,所以直接从norflash启动开始debug:

                              

可以选择单步调试,打断点方式来调试程序。因为uboot是在linux里面编的,然后在windows下debug,所以调试的时候可以看到,只能看到汇编,可读性较差,可以在linux中,利用objdump -D 反汇编uboot程序,会有相应的debug符号表对应着看,会清楚不少,当然由于链接地址和执行地址不同,以及后期uboot的relocation,地址可能需要做下转换,可以看到uboot的反汇编程序如下:        

通过这种方式,可以和axd中的汇编程序对应起来,增加可读性。在axd里面,也能方便的看到一些通用寄存器的值:

                                           

同时还可以利用memory窗口来查看一些外设寄存器的值,比如调试串口,需要看相关串口寄存器的值是否设置正确:

可以看到调试起来还是比较直观方便。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值