《建立软件开发环境.ppt》由会员分享,可在线阅读,更多相关《建立软件开发环境.ppt(31页珍藏版)》请在三一办公上搜索。
1、第5章 建立软件开发环境,工欲善其事,必先利其器。在进行嵌入式软件开发工作之前,必须建立一个开发环境。开发环境包括了操作系统、编译器、调试器、集成开发环境、各种辅助工具等。嵌入式Linux开发需要在主机上开发目标系统的程序,建立主机开发环境可以在Linux系统下,也可以是Windows系统。在两种系统建立开发环境各有利弊,本章讲解Linux系统和Windows系统如何搭建嵌入式开发环境,主要内容如下:安装独立的Linux发行版搭建Linux发行版下的开发环境在Windows系统安装Linux系统模拟环境Linux系统常见命令和工具Windows系统常用工具ADS集成开发环境,5.1 独立的Li
2、nux系统,本节介绍的Linux系统需要单独安装在PC机的磁盘分区,读者在操作之前需要做好准备,备份好数据。目前的Linux系统发行版有许多,Ubuntu Linux界面贴近用户,软件安装配置简单,适合初学者学习使用。本书使用Ubuntu Linux 8.04发行版本作为嵌入式Linux开发的主机环境。,5.1.1 安装Ubuntu Linux,在安装之前,需要确认有足够的磁盘空间供安装Ubuntu Linux。在笔者的机器上使用Windows的磁盘管理程序查看硬盘分区。,5.1.2 关键一步系统的网络设置,Ubuntu Linux使用了apt管理软件包。apt是一种给予Debian系统deb
3、包的管理器,最大的特点就是从网络安装软件包,并且能自动获取每个软件包的依赖关系,安装正确的软件包。由此可见,网络对于Ubuntu Linux系统的重要性。在安装其他的软件包之前,首先是设置Ubuntu的网络。Ubuntu的网络配置文件主要有/etc/network/interfaces和/etc/resov.conf两个文件。其中,/etc/network/interfaces文件是配置网络接口卡(网卡)和网关地址,内容如下:iface lo inet loopback#环回设备loopback配置iface eth0 inet static#第一个以太网卡设备eth0,使用静态配置addre
4、ss 192.168.0.120#配置IP地址netmask 255.255.255.0#配置掩码gateway 192.168.0.1#设置网关,5.1.3 其他必要的设置,设置好网络之后,最关键的就是设置apt的源。apt使用/etc/apt/sources.list文件记录软件包服务器的配置信息,这些软件包服务器地址被称作源。在使用apt命令安装软件包的时候,会从源服务器下载并安装软件包。Ubuntu自己的源服务器在美国,在其他国家都有镜像服务器,读者可以选择一个离自己较近的服务器,可以提高下载文件速度。在国内目前有两个比较好的源服务器:一个是由提供的,一个是由提供的。,5.1.4 怎样
5、安装卸载软件,Ubuntu安装卸载软件都非常方便,使用apt-get命令可以完成软件的管理。具体格式如下:apt-get install apt-get uninstall,5.1.5 怎样配置系统服务,在Ubuntu下配置系统服务非常简单,需要一个名为sysv-rc-conf的软件包。使用“sudo apt-get install sysv-rc-conf”命令安装软件包,安装完毕后在Shell终端输入“sudo sysv-rc-conf”,出现一个文本界面。其中最左边是系统的服务名称,右边依次是系统运行级别16。每个系统服务在对应的系统级别下都可以选择X表示在该级别下启动,去掉X表示不启动
6、。用户根据需要选择以后,键入字母Q保存退出。,5.1.6 安装主要的开发工具,Ubuntu Linux把主要的开发工具打包放在一起,安装的时候直接安装一个软件包就可以把基本的开发工具和程序都装到系统。(1)安装基本的开发工具。(2)检查开发工具是否安装成功。,5.1.7 安装其他的开发工具和文档,主要开发工具安装完毕后,仅能保证编译和调试程序。对于大部分开源软件来说,还需要autoconf、automake等工具。其他工具的安装命令如下:sudo apt-get install autoconf automake1.9sudo apt-get install flex bisonsudo ap
7、t-get install manpages-devsudo apt-get install binutils-doc cpp-doc gcc-doc glibc-doc stl-manual,5.2 运行在Windows上的Linux系统,对于多数没有使用过Linux系统的读者来说,初次使用Linux开发会遇到许多问题。初学者可以通过首先在Windows系统下使用类似Linux的模拟环境熟悉一下。此外,在Linux模拟环境下可以完成大多数的Linux系统操作。Windows下的Linux模拟环境有许多,其中应用最广泛的是Cygwin系统。,5.2.1 什么是Cygwin,Cygwin是Cyg
8、nus公司开发的运行在Windows平台的Linux系统模拟环境,该软件是自由软件。Cygwin对学习Linux使用,以及Windows和Linux系统之间应用程序的移植都有很大帮助。在嵌入式开发领域,由于Cygwin的优点被越来越多开发人员使用。Cygwin的设计思想十分巧妙。与其他工具不同的是,Cygwin没有逐个把Linux下的工具移植到Windows系统,而是在Windows系统上设计了一个Linux系统调用中间层。Linux系统调用中间层的作用是在Windows系统模拟Linux的系统调用,之后只需要把Linux下的工具在Windows系统重新编译,做一些较小的修改即可移植到Wind
9、ows系统。Cygwin几乎移植了Linux系统常用的所有开发工具到Windows系统,使用户感觉就好像在Linux系统下工作,为用户在Windows下开发Linux程序提供了保障。,5.2.2 如何安装Cygwin,Cygwin的安装比较简单。Cygwin支持网络在线安装和从本地安装两种模式,由于Cygwin的服务器在国外,建议国内用户下载Cygwin的本地安装包从本地安装。首先从http:/下载软件安装包,本书使用的是版本,其他版本的安装过程相同。,5.2.3 安装开发环境,Cygwin在安装包中自带了绝大多数的Linux软件和工具在Windows系统的移植版本。默认的软件包选项自带了基本
10、的开发工具,安装好无需配置可以使用GNU的开发环境。为了验证是开发环境是否安装成功,查看各开发工具的版本:$gcc-versiongcc(GCC)3.4.4(cygming special)(gdc 0.12,using dmd 0.125)Copyright(C)2004 Free Software Foundation,Inc.This is free software;see the source for copying conditions.There is NOwarranty;not even for MERCHANTABILITY or FITNESS FOR A PARTICU
11、LAR PURPOSE.$gdb-versionGNU gdb 6.3.50_2004-12-28-cvs(cygwin-special)Copyright 2004 Free Software Foundation,Inc.GDB is free software,covered by the GNU General Public License,and you arewelcome to change it and/or distribute copies of it under certain conditions.Type show copying to see the conditi
12、ons.There is absolutely no warranty for GDB.Type show warranty for details.This GDB was configured as i686-pc-cygwin.,5.3 Linux常用工具,目前大多数的Linux发行版都提供了图形界面作为默认界面,但是,命令行工具在Linux仍然很重要。Linux工具的特点是一个程序包含的功能尽量专一,不同的程序通过文件、管道等进程间数据共享的方法可以组合使用,达到处理复杂功能的目的。学习使用Linux系统,命令行工具是基础。GNU的命令行工具都有相同的特点,初学者从一些基本的工具入手,
13、比较容易学习。,5.3.1 Linux Shell和常用命令,使用过DOS系统和Windows中断控制台的人对命令行界面都有一定体会。与这些系统不同,Linux的命令行是通过一种叫做Shell的程序提供的。Shell程序负责接受用户的输入,解析用户输入的命令和参数,调用相应的程序,并给出结果和出错提示。Linux支持多种Shell程序,早期的Shell程序功能比较单一,现在主流的Linux发行版使用bash作为默认的Shell。Bash支持功能强大的脚本、命令行历史记录、终端彩色输出等功能。Shell是Linux的外壳,用户通过Shell使用系统提供的功能。在Linux系统中,仅有内核还是不够
14、的,需要应用程序支持才能发挥内核提供的功能。无论是Linux发行版还是嵌入式Linux开发板上的系统,都提供了常见的一些命令。,5.3.1 Linux Shell和常用命令,5.3.1 Linux Shell和常用命令,5.3.2 文本编辑工具vi,Linux系统的文本编辑工具有许多,其中使用最广泛的就是vi编辑器了。vi编辑器的功能十分强大,并且非常小,适合安装在嵌入式系统使用。vi虽然功能强大,但是对于初学者来说,上手比较困难,初学者往往被vi奇怪的操作弄的失去学习的信息。本书有关vi的使用仅涉及基本操作,目的是帮助初学者学习vi的基本操作。更高级的vi操作读者可以参考vi的帮助文档。vi
15、编辑器支持编辑模式、浏览模式、插入模式和可视模式四种模式。其中,插入模式包括了插入文本和替换文本两种模式。当启动vi的时候,默认进入浏览模式。浏览模式只能查看和删除文档内容,但是不能修改;编辑模式用户可以修改文档内容,与普通的文本编辑器相同;覆盖模式下用户输入的内容会覆盖光标所在位置的文本;可视模式提供了一种选择文本的方法,可以使用键盘完成鼠标选择文本的功能。,5.3.2 文本编辑工具vi,5.3.3 搜索工具find和grep,find和grep是Linux系统最常用的两个搜索工具。这两个工具不同的是find用于查找文件,grep用于查找文件内容。grep支持正则表达式(一种描述字符串特征的
16、语法),通过在一个或多个文件中搜索字符串,符合的内容被送到屏幕显示。grep工具不会修改文件内容。grep通过返回值表示搜索状态,如果搜索成功返回0,如果失败返回1,如果搜索的文件不存在返回2。因此,grep可以用于shell脚本。,5.3.4 FTP工具,FTP是标准的互联网文件传输协议,被广泛的应用于网络文件传输,是不同机器间文件传输简单有效的方法。FTP协议允许传输二进制和文本文件。在许多系统上都提供了FTP客户端软件,用来从FTP服务器下载或者上传文件。本节介绍的FTP客户端工具可以在Linux系统和Windows系统上使用,是一种简单易用的文件传输手段。,5.3.4 FTP工具,5.
17、3.5 串口工具minicom,串口是嵌入式开发使用最多的通信方式。Linux系统提供了一个串口工具minicom,可以完成复杂的串口通信工作。本节介绍minicom的使用。首先是安装mimicom,在Ubuntu Linux系统shell下输入“$sudo apt-get install minicom”回车后即可安装minicom软件。软件安装好后,第一次使用之前需要配置minicom。,5.5 Windows常用工具,嵌入式开发的开发环境和运行环境往往不是同一台机器。作为开发环境,Windows下通常运行一些客户端和代码管理工具、文档管理工具等。本节介绍Windows下常用的两个工具。,
18、5.5.1 代码编辑管理工具SourceInsight,SourceInsight是一个功能强大的代码管理工具。该工具可以轻松管理代码庞大的工程,提供了丰富的编辑功能,支持函数、变量的类型定义查看、跳转等。SourceInsight对C语言代码支持最好,本节介绍SourceInsight安装和使用。1设置SourceInsight工程2SourceInsight特色功能,5.5.2 串口工具XShell,在节介绍了Linux下的串口工具minicom,本节介绍一个Windows下比较好用的串口工具XShell。实际上,XShell不仅支持串口连接,还可以连接Telnet服务器、SSH服务器等。
19、,5.6 ARM集成开发环境ADS,集成开发环境英文Integrated development environment,缩写是IDE。在没有IDE之前,开发软件过程中的编辑,编译,调试需要不同的工具操作,不仅效率低而且容易出错。IDE的作用是把编辑、编译和调试等工具集成在一起,并且向用户提供一个图形界面的开发环境。ARM开发有标准的开发环境ARM Development Suit,简称ADS。,5.6.1 ADS集成开发环境介绍,ADS是ARM公司推出的ARM集成开发工具,目前最新版本是1.2,只能在Windows系统安装。ADS包括程序库、命令行开发工具、图形界面、调试工具和代码编辑器等。本节介绍一下ADS自带的命令行工具。1C语言编译器armcc2C+语言编译器armcpp,5.6.2 配置ADS调试环境,在使用ADS之前,需要安装ADS开发环境。ADS是一个商业软件,需要支付版权费用才可以使用,对于没有购买版权的用户会受到功能限制。,5.6.3 建立自己的工程,本节介绍如何在ADS环境下建立自己的工程并且编译生成目标文件。,5.7 小结,本章讲解了嵌入式Linux开发环境,包括系统环境、开发工具、辅助工具等。开发工具是嵌入式开发过不可缺少的,每种工具都有自己的用途和范围,读者应该多实践,掌握常见的开发工具使用方法。第6章开始介绍基本的程序开发知识。,