ADS调试BOOTLOADER
2012-04-19 11:20
316 查看
所谓使用ADS调试WINCE的BOOTLOADER,实际上是用到ADS的调试工具AXD,当然其它的一些ARM开发平台也可以。
BOOTLOADER虽然不复杂,但是却是WINCE、LINUX等系统运行的前提保证,只有BOOTLOADER运行了才能进行后续的OS启动,而很多人对BOOTLOADER的调试很头疼,其实BOOTLOADER调试并没那么复杂。
(原文地址:
http://www.pro-embedded.com/thread-91-1-1.html,转载请注明出处)
既然是做WINCE或者LINUX的移植,那么首先拿到一套BSP是必须的,而这个BSP通常是针对某个平台可以正常运行的,BOOTLOADER功能相对简单,开发者只是根据自己的产品做些代码的修改,当自己修改的BOOTLOADER不能正常运行的时候完全可以借助,AXD来进行调试,而必需的工具是一个JTAG,调试ARM9可以使用并口的H-JTAG,ARM11可以用盗版的JLINK-V8等。
当系统运行异常时不要断电,将JTAG连接好,启动AXD,这个时候就可以查看当前的PC值,然后进行单步运行,追踪问题。
假如无法连接JTAG,则可能系统出现了比较严重的异常等,导致CPU无法正常连接JTAG,这个时候可以找一段确保无误的代码,在其后边加入死循环while(1),(比如,你确认第N个函数执行正常,当执行第N个函数之后的代码时出现异常,那么便可以在第N个函数中加入死循环),下载到电路板上后运行死循环便会停住,此时查看当前的PC值比如,0x00000228,然后通过AXD的命令窗口将PC值置到下一句代码的位置,如setpc 0x0000022C,然后再音步执行,这样就可以继续查问题了。
这种调试方法需要一定的汇编语言分析能力,因为通过AXD查看的内容全是经过机器码反汇编出来的,但是源代码是自己编写的,对照着源代码分析是可行的,所以这个方法对于调试BOOTLOADER十分有用。
1、 下载jlink驱动。
2、 安装
解压缩后默认安装即可。
3、将jlink与pc用usb相连,同时另一端与开发板jtag口相连。给板子上电
4、打开AXD Debugger(ADS1.2安装后的才会有)
5、选择options – configure target
6、选择add ,查找路径C:/Program Files/SEGGER/JLinkARM_V420,选定jlinkrdi.dll文件
7、选择load image
8、选择光盘中Bootloader/目标文件/2440Init.axf
这时候会提示查找2440init.s 文件,该文件在 Bootloader/源码/2440Init/2440BootInit目录下,
(注意:源码里的文件是rar文件,请提前解压)
9、继续load image,选择光盘中的Bootloader/目标文件/2440boot.axf
这时候会提示查找u2440mon.c 文件,该文件在 Bootloader/源码/2440BOOT_V5.1_FL/2440BOOT_V5.1_FL/src目录下,
(注意:源码里的文件是rar文件,请提前解压)
10、这时候确保 板子的com0 与pc的串口相连,腰包团购,配置好dnw,冲锋衣团购。保证能够接收串口发送来的数据。点击运行,登山包团购。这时候串口就已经有bootloader的启动信息了。
11、这时候可以通过usb进行bootloader的烧写了
我用的是JLINK V8 所以装这个比较新的驱动。
当DNW进行到如下画面时,赶紧按空格
出现如下画面:
输入1,然后按0,即可通过USB接口来烧写,在烧写前应将USB下载地址改为0x30800000,然后在DNW菜单栏选择’USB Port->Transmit’,进而选择要烧写的文件目标文件中的OK_TE_2440bootV5.bin,开始进行bootloader 的烧写,团购登山包。
BOOTLOADER虽然不复杂,但是却是WINCE、LINUX等系统运行的前提保证,只有BOOTLOADER运行了才能进行后续的OS启动,而很多人对BOOTLOADER的调试很头疼,其实BOOTLOADER调试并没那么复杂。
(原文地址:
http://www.pro-embedded.com/thread-91-1-1.html,转载请注明出处)
既然是做WINCE或者LINUX的移植,那么首先拿到一套BSP是必须的,而这个BSP通常是针对某个平台可以正常运行的,BOOTLOADER功能相对简单,开发者只是根据自己的产品做些代码的修改,当自己修改的BOOTLOADER不能正常运行的时候完全可以借助,AXD来进行调试,而必需的工具是一个JTAG,调试ARM9可以使用并口的H-JTAG,ARM11可以用盗版的JLINK-V8等。
当系统运行异常时不要断电,将JTAG连接好,启动AXD,这个时候就可以查看当前的PC值,然后进行单步运行,追踪问题。
假如无法连接JTAG,则可能系统出现了比较严重的异常等,导致CPU无法正常连接JTAG,这个时候可以找一段确保无误的代码,在其后边加入死循环while(1),(比如,你确认第N个函数执行正常,当执行第N个函数之后的代码时出现异常,那么便可以在第N个函数中加入死循环),下载到电路板上后运行死循环便会停住,此时查看当前的PC值比如,0x00000228,然后通过AXD的命令窗口将PC值置到下一句代码的位置,如setpc 0x0000022C,然后再音步执行,这样就可以继续查问题了。
这种调试方法需要一定的汇编语言分析能力,因为通过AXD查看的内容全是经过机器码反汇编出来的,但是源代码是自己编写的,对照着源代码分析是可行的,所以这个方法对于调试BOOTLOADER十分有用。
1、 下载jlink驱动。
2、 安装
解压缩后默认安装即可。
3、将jlink与pc用usb相连,同时另一端与开发板jtag口相连。给板子上电
4、打开AXD Debugger(ADS1.2安装后的才会有)
5、选择options – configure target
6、选择add ,查找路径C:/Program Files/SEGGER/JLinkARM_V420,选定jlinkrdi.dll文件
7、选择load image
8、选择光盘中Bootloader/目标文件/2440Init.axf
这时候会提示查找2440init.s 文件,该文件在 Bootloader/源码/2440Init/2440BootInit目录下,
(注意:源码里的文件是rar文件,请提前解压)
9、继续load image,选择光盘中的Bootloader/目标文件/2440boot.axf
这时候会提示查找u2440mon.c 文件,该文件在 Bootloader/源码/2440BOOT_V5.1_FL/2440BOOT_V5.1_FL/src目录下,
(注意:源码里的文件是rar文件,请提前解压)
10、这时候确保 板子的com0 与pc的串口相连,腰包团购,配置好dnw,冲锋衣团购。保证能够接收串口发送来的数据。点击运行,登山包团购。这时候串口就已经有bootloader的启动信息了。
11、这时候可以通过usb进行bootloader的烧写了
我用的是JLINK V8 所以装这个比较新的驱动。
当DNW进行到如下画面时,赶紧按空格
出现如下画面:
输入1,然后按0,即可通过USB接口来烧写,在烧写前应将USB下载地址改为0x30800000,然后在DNW菜单栏选择’USB Port->Transmit’,进而选择要烧写的文件目标文件中的OK_TE_2440bootV5.bin,开始进行bootloader 的烧写,团购登山包。
相关文章推荐
- 使用ADS调试bootloader
- ADS+AXD调试,配置H-JTAG(华恒2410)
- JLINK+ADS+mini2440配置////配置J-Link为mini2440烧写bootloader
- 转帖: JLINK在ADS中的调试心得
- 用ADS(AXD Debugger),实现u-boot的源代码级调试(c语言级)
- S3C2450 Bootloader调试总结
- 用ADS调试硬件过程
- ARM ADS中的AXD 调试经验集锦(转)
- ADS调试问题集
- ADS开始不能够调试汇编的代码
- ads+jlink和keil+jlink调试环境配置
- 如何在ADS调试中使用中断
- ARM ADS中的AXD 调试经验集锦
- ARM ADS调试设置
- HJtag 在ADS环境下怎样设置才能用HJtag调试 arm
- bootloader与ads设置
- ARM ADS中的AXD 调试经验集锦
- bootloader---21.u-boot-2010.06-rc1移植之调试的思路
- 深圳远峰YFDVK-255-I开发板的ADS调试工程
- arm调试的准备内容,注意事项,以及BOOTLOADER和散列表加装的分析