1.4.2 嵌入式Linux常用工具
在搭建一个硬件系统平台之前,有必要认真学习一下嵌入式Linux开发中常用工具的使用,其中包括Windows下虚拟机的安装和使用、source insight以及Linux下的gcc、gdb、vi、gedit等工具的使用。
1.虚拟机的安装和使用
关于虚拟机的安装和使用,在网络发达的今天,这方面的操作讲解不胜枚举,笔者推荐国嵌教育系列教程中虚拟机的安装和使用,在此不再赘述。
2.source insight代码阅读器
source insight工具是一个很好的代码阅读工具,可以帮我们快速地定位代码的索引等功能。特别是在查看Linux内核源码时,我们可以通过该工具很容易地查找到相应代码的索引。这个工具是笔者使用过的代码阅读器中最好用的一个。特别是在Linux内核开发时,有很多数据结构、变量和函数都是来自Linux内核的,但是Linux内核有几千万行代码,所以无法以手动方式进行查找,而source insight代码阅读器提供了这方面的功能。
3.GCC编译器
GCC原名为GNU C语言编译器,因为它原本只能处理C语言。GCC很快进行了扩展,变得可处理C++。之后又扩展为可处理FORTRAN、Pascal、Objective-C、Java、Ada及其他语言。
在使用GCC编译器的时候,必须给出一系列必要的调用参数和文件名称。GCC编译器的调用参数大约有100 多个,其中多数参数可能根本就用不到,这里只介绍其中最基本、最常用的参数。
GCC最基本的用法是:gcc [options] [filenames]。其中,options就是编译器所需要的参数,filenames给出相关的文件名称。
4.gdb调试器
在Windows下一般都使用Visual Studio自带的调试工具来进行调试,例如设置断点、单步跟踪等。在Linux下,使用GNU开发组发布的调试工具—gdb调试器,它和GCC配套使用,使用起来方便快捷。
当然,使用过Visual Studio开发环境的读者也许会发现,这个gdb非常不好用,一个大文件需要逐步地浏览且每一步都需要设置中断号,才能进行中断,非常不方便。刚开始用的时候会觉得非常不方便,而且都是在一个黑乎乎的终端界面中使用,首先从审美上就不适应,这是理所当然。然而当你用得多了,也许就会发现这种开放模式会非常适合你,特别是像我们这些底层开发人员,在对自己编写的程序进行调试时,由于对自己的程序非常了解,所以手动地设计断点,然后运行分析我们的程序,会对自己想要的现象和数据非常敏感。而gdb却可以为你提供这种手动的操作,此时就会觉得gdb非常好用了。
当然,从另外一方面来说,VS中的调试环境其实质也是通过gdb的一个内核进行包装得来的。所以说要想更好地掌握这些调试知识,从gdb开始学起还是非常有意义的。
5.vi编辑器
通常,vi共分为3种模式,分别是“一般模式”、“编辑模式”与“命令行命令模式”。这3种模式的作用如下。
一般模式:vi处理文件时,一进入该文件,就是一般模式了。在这个模式中,可以使用“上下左右”键来移动光标,可以使用“删除字符”或“删除整行”来处理文件内容,也可以使用“复制、粘贴”来处理文件数据。
编辑(插入)模式:在一般模式中可以进行删除、复制、粘贴等操作,却无法进行编辑操作。要等到按下“i、I、o、O、a、A、r、R”等字母之后才会进入编辑模式。注意,通常在Linux中,按下上述字母时,画面的左下方会出现“INSERT或REPLACE”的字样,此时才可以输入字符到文件中。如果要回到一般模式,则必须按下Esc键才可退出编辑模式。
底行(命令行)模式:在一般模式中,输入“:”或“/”或“?”就可以将光标移到最下面的一行,在这个模式中,可以搜索数据,而且读取、存盘、大量删除字符、离开vi、显示行号等操作也都是在此模式中实现的。
6.gedit编辑器
在Linux中一般都会有一个类似于Windows中记事本一样的编辑器,那就是gedit编辑器了。如果用不惯vi/vim编辑器,可以使用gedit编辑器来代替。gedit的使用极其简单,只要输入gedit + 文件名就可以进行文件的编辑了,这里不再赘述。