首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
在VIM中实现对嵌入式软件的调试
来源:本站整理  作者:佚名  2009-08-18 10:04:11



a.添加调试器转换函数,并设置转换开关为大写“E”键(Shift+E实现):


即在进入调试状态后,屏蔽掉调试器转换快捷键E,并设置快捷键F8来显示变量值监测窗口。


即在退出调试状态后,还原gdb命令为gdb—pc的调用,并还原“E”的调试器转换开关作用。

   
使得启动vim后,便会在vim中启动对gdb进行调用的快捷键映射。
    至于在gdb_mappings.vim中具体设定的其他快捷键,由读者自己分析或设定即可。
2.5 在VIM中对嵌入式软件进行调试
    下面设定目标板上的嵌入式软件调试时所用的快捷键:E为调试器转换开关;F9为进入调试模式;F8为开启变量监视窗口;空格键为开启命令行输入窗口;调试模式为PC通过超级终端对嵌入式目标板进行输入输出,Ubuntu8.10通过TCP/IP方式对嵌入式软件进行调试;PC机Linux IP为222.31.51.147;目标板IP为222.31.51.180;调试连接端口为1234。
    ①用VIM打开~/test/test.c,运行命令“:make test—em”,将生成的test—em文件拷贝到嵌入式平台的文件系统下,并在嵌入式平台运行命令,指定等待连接的交叉调试器地址、连接端口以及要调试的嵌入式程序:
    gdbserver 222.31.5l.147:1234 test—em
    嵌入式端会出现如下的类似提示信息,进入等待连接状态:
    Process test—em created:pid=80l
    Listening on port 1234
    ②按下大写“E”键(Shift+按键E),根据VIM窗口下方的提示信息,确定所选调试器。
    提示信息为“NOW! Gdb is ready for Embedded Sys—tem!!!”或者“Gdb is ready for PC,,Now”。
    ③按下F9,在出现的命令窗口输入命令“file test—em”后,会在VIM中的另一个窗口出现以下类似的调试信息:


    可以发现,在VIM中已经成功调用交叉调试器arm—linux—gdb了。以后的调试命令,都是通过先按下空格键,调出命令窗口,输入命令,回车后传递给调试器。按下空格,在命令窗口输入命令,连接嵌入式目标板端:
    target remote 222.31.51.180:1234
此时,VIM中的调试信息窗口出现信息:


    至此,PC交叉调试器与嵌入式软件的连接完成,现在可以在VIM中对程序运行进行例如断点一类的设置动作;而嵌入式软件的输入输出,需要在嵌入式端来完成。这里先通过命令对代码设置断点,然后用命令continue继续程序运行(注意,这里不用run开始,因为当调试器与嵌入式端连接完成时,被调试的嵌入式软件已经开始运行),用命令next对程序实现步进调试。调试过程中的VIM如图3所示。

    图中测试代码要实现的是让用户输入5个数,然后经过排序后输出。对应的输入输出在嵌入式端体现出来。对应图3,此时在嵌入式端需要进行输入动作:

    
    从图3中可以直观地看清断点设置在哪里,程序现在步进到哪里。当程序第一次运行到图3中的17行时,按下F8键,开启变量值观测窗口,然后先后执行3个命令“cr i”、“cr j”、“cr a[i]”,这样,就可以在变量观测窗口实时地监测变量的数值了,如图4所示。

    这种调试方式提供对gdb所有命令功能的支持,而且当发现bug时,可以通过q命令终止调试,然后按F9跳出调试模式,就可以继续对源代码进行修改。
    至于在这之前的嵌入式软件在本地PC机上的调试,其过程比起调试运行在嵌入式设备上的软件来讲,只少了个远程连接的过程,其余调试过程都一样。至此,实现了在VIM中对嵌入式软件的调试。

结 语
    嵌入式Linux系统的广泛应用,对嵌入式软件开发和调试环境的效率提出了更高的要求。GNU所提供的支持交叉编译与调试的工具链是一个很好的选择,尤其是其中的gdb调试工具完全满足嵌入式软件“交叉编译”的这种特殊需要;而且,功能强大的VIM编辑器又可实现对gdb调试器的整合,从而在VIM中实现了对嵌入式软件的调试功能。通过上面的实例可以看到,在VIM中对嵌入式软件进行调试更加直观和高效,从而也促使嵌入式软件的开发效率得到了质的提高。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:117,515.60000 毫秒