网站导航: 首页 > 设计参考 > 正文 文章搜索
用AXD 和Multi-ICE调试uClinux内核
 
文章编号:
090104151232
文章分类: 单片机 ARM
点 击:
...
关 键 词: AXD,Multi-ICE,uClinux,调试
文章来源:
网络
摘 要:
AXD Multi-ICE进行裸机程序调试的功效相信已经为大家所接受。uClinux内核比较裸机程序,有较大的不同。这里简单介绍如何用AXD源代码级调试uClinux内核

AXD Multi-ICE进行裸机程序调试的功效相信已经为大家所接受。uClinux内核比较裸机程序,有较大的不同。这里简单介绍如何用AXD源代码级调试uClinux内核。

所提到的uClinux版本是uClinux-dist-20030522.tar.gz,并且已经使用了www.dailzh.net上提供的patch。并且我有义务告诉您,这一调试方法可行,但尚需要完善。

步骤一:使编译器输出dwarf-2格式的调试信息
修改uClinux-dist/linux-2.4.x下Makefile,将CFLAGS_KERNEL设置为-gdwarf-2
然后重新编译uClinux

步骤二:取得所需要的文件
使用image.ram进行调试。同时需要system.map文件,它提供了内核各个符号的位置,并且需要名为linux的文件,它含有调试器所需要的调试信息,这个文件可能有30M或更大。千万别告诉我你不知道我说的文件在什么地方找。

步骤三:使用AXD加载各文件
假设Multi-ICE已经与目标板连接,使用 File à Load Memory From File读入image.rom。这里必须将读入的基地址设置为TEXTADDR

使用File - Load Debugger Symbols读入linux文件,这可能要花费1-2分钟左右时间。请注意,这个文件是提供给调试器,而非下载到板上,因此目标板不需要额外的空间用于存储此文件内容。如果一切顺利,已经可以看到一些符号出现在了AXD中。这表示下载已经成功。

步骤四:用任何文本编辑软件打开 system.map文件,通过查找功能找到你所希望设置断点的函数的入口地址,并跳至该处设置断点。选择process view à source,这将列出所有被编译的源代码列表,选择你所需要的文件双击。建议将image.ram/linux和你的源代码文件放在同一目录中,这样即使因为windows/linux系统路径表示方法不同,你的源代码也能被肢解打开。也可以在option à source path中设置存放源代码的路径。

至此,已经可以开始源代码级的调试了,也许你会遇到一些问题,这是正常的,基本的调试都可以进行了。并且感觉上Interleave Disassembly将能获取更多便利。

 
相关文章:

 
最新开源项目
 
 
  查看更多...  
 
本站相关产品   淘宝网店
 




 
  查看更多...  

 

本站程序由百合电子工作室开发和维护
Copyright @ baihe electric studio
渝ICP备09006681号-4