KEIL调试ELF文件设置方法--亲自试过,很实用!

http://hi.baidu.com/houxn22/item/4dfe2b45e62fd6d2c1a59291


【转-整理】KEIL调试ELF文件设置方法--亲自试过,很实用!

        GNU ARM的toolchain是一个很好使的ARM开发工具,它使用起来非常灵活,可以任意定制启动代码、实现复杂的内存映射,能完全发挥开发人员的聪明才智;况且它已经被移植到windows下,有很多个版本可供使用,非常方便(详见我的上一篇日志)。在字符界面下开发程序还说得过去,但是要实现程序的调试就困难了。我们知道,用GNU ARM toolchain生成的调试文件是elf格式的,经过在互联网上的一番探索,发现KEIL可以实现对ELF格式文件的调试,自己亲自试了一下,确实好使,现在把方法贴出来。

 

我的开发调试环境:

    操作系统:windows 7旗舰版    

    开发环境:Cygwin+yagarto的GNU ARM toolchain

    调试环境:KEIL μVISION 4.2 ,H-JTAG V1.1

    硬件:并口--waggler--开发板Jtag口

 

1、确保编译工程时的参数:-gdwarf-2,这样才能在ELF文件生成调试信息。

    例如:(我这里用的toolchain是 yagarto)

        arm-none-eabi-gcc -gdwarf-2 -c -o led2.o led2.s

        arm-none-eabi-gcc -c -gdwarf-2 -o main.o main.c

        arm-none-eabi-ld -Tled2.lds -g led2.o main.o -o led2.elf

        arm-none-eabi-objcopy -O binary -S led2.elf led2.bin

        这里生成了led2.elf 的调试文件。

 

2、新建一个KEIL工程。

3、选择一个CPU。

4、点击project->operation for target选项,选择output标签。

5、点击select folder for object,选择elf文件所在的目录,点OK。

6、在name of executable里填上ELF文件名,比如:led2.elf

7、点击debug选项,选择use:rdi interface driver。

8、点击setting,在browse for rdi driver dll里,找到h-jtag的dll文件,如:C:\Program Files\H-JTAG\H-JTAG.dll

    (注:以上两步可以在H-JTAG里找到ToolConf.exe在Keil里直接添加H-JTAG Debug工具)

9、在KEIL里一路OK。

10、打开h-jtag,确保找到CPU。

11、点击DEBUG按扭这样就可以源代码级的调试了。

 

另转:在μVision中使用CodeSourcery GNU ARM工具链

配置μVision

为了GNU ARM工具链能在μVision中使用,必须修改Folders/Extensions中的默认设置。

Project - Manage - Components, Environment, Books...或在μVision工具栏中点击,打开Components, Environment and Books对话框。在标签页 Folders/Extensions中修改以下设置:选择 Use GNU Compiler。设置 GNU-Tool-Prefixarm-none-eabi-。设置 Cygnus FolderSourcery G++ Lite安装目录。

注意

Options for Target对话框因所使用的工具链而有所变化。

 

 

        补充:调试的时候可以把你的源码一并拷贝到KEIL的工程目录里(包括所有用到的C源文件、启动文件、头文件等),这样在调试的时候可以观察源码,跟在KEIL里开发没有什么两样。如果嫌拷来拷去麻烦,还可以把KEIL工程指定保存到 GNU ARM toolchain的开发目录下,这样会更方便。


  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值