加入收藏 | 设为首页 | 会员中心 | 我要投稿 | RSSRSS-巴斯仪表网
您当前的位置:首页 > 电子发烧 > 单片机学习

用AXD 调试VxWorks bootrom

时间:2013-09-08  来源:123485.com  作者:9stone

    对于用ads1.2的早期版本sdt2.5 中的adw 调试bootrom_uncmp 的方法大家一般都比较熟悉,这里不多做说明。下面给出用ads1.2 中的axd 调试bootrom 的方法.
步骤如下:

1 打开自己所用的调试代理, 如MultiICE , ARMJtagDebugFinal 中的arm7.exe,arm9.exe 等

2. 打开axd 在Options→Config Target 选择自己所需的调试代理。如图1 所示:
 
3. 在Options→Config Processor 中点击Clear All,去掉Semihosting 前面的勾。点OK 退出。如图2 所示:
 

4. 在Command Line Interface 中输入配置文件的路径或者命令:如obey d:/2410.txt,obey d:/44B0.txt 等。
下面是一个对S3C2410 在axd 下的配置文件2410.txt
spp vector_catch,0x00
spp semihosting_enabled,0x00
sreg psr,0x60000013
smem 0x53000000,0,32
smem 0x4C000004,((0x47<<12)+(0x1<<4)+0x2),32
smem 0x56000070,0x280000,32
smem 0x56000078,0x0,32
smem
0x48000000,((2<<28)+(2<<24)+(1<<20)+(9<<16)+(1<<12)+(1<<8)+(1<<4)+0),32
smem 0x48000004,((3<<13)+(3<<11)+(7<<8)+(3<<6)+(3<<4)+(3<<2)+3),32
smem 0x4800001c,((3<<15)+(1<<2)+1),32
smem 0x48000020,((3<<15)+(1<<2)+1),32
smem 0x48000024,((1<<23)+(0<<22)+(0<<20)+(3<<18)+(2<<16)+1113),32
smem 0x48000028,0x32,32
smem 0x4800002c,0x30,32
smem 0x48000030,0x30,32

5. 点击File→Load Image 加载Tornado 编译生成的bootrom_uncmp(为elf 格式)。
注意:在这里调试时只能加载bootrom_uncmp,你可以在调试通过后再编译生成其它格式如*.bin,*.hex 的烧写文件。

6.这是最关键的一步,在加载boottom_uncmp 的Disassembly 窗口中点击鼠标右键,选中Set PC 在PC 值中输入你在config.h 中定义的RAM_HIGH_ADRS 的值。具体如图3 所示:
 
如:在Config.h 有如下定义:
#define RAM_HIGH_ADRS 0x0C500000 /* RAM address for ROM boot */
OK 结束配置即可进入bootrom 的入口点。如图4 所示:
 

7. 经过以上几步的配置,一切准备工作已经完成,接下来你可以运用单步调试,或者全速执行来调试bootrom,当然你也可以设置断点,在调试过程一定会遇到很多的问题,这需要耐心与细心。


分享到:
来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
栏目导航->单片机学习
  • 电子应用基础
  • 电源技术
  • 无线传输技术
  • 信号处理
  • PCB设计
  • EDA技术
  • 单片机学习
  • 电子工具设备
  • 技术文章
  • 精彩拆解欣赏
  • 推荐资讯
    使用普通运放的仪表放大器
    使用普通运放的仪表放
    3V与5V混合系统中逻辑器接口问题
    3V与5V混合系统中逻辑
    数字PID控制及其改进算法的应用
    数字PID控制及其改进
    恶劣环境下的高性价比AD信号处理数据采集系统
    恶劣环境下的高性价比
    栏目更新
    栏目热门