预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共31页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

嵌入式LINUX编程环境主要内容一、嵌入式LINUX简介嵌入式系统定义: 是以应用为中心,以计算机技术为基础,并且软硬件是可裁剪的,适用于对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。嵌入式LINUX系统的基本元素: 引导工具 Linux微内核 初始化进程 硬件驱动程序 应用程序 文件系统 协议栈广泛的硬件支持 Linux能够支持x86、ARM、MIPS、ALPHA、PowerPC等多种体系结构,目前已经成功移植到数十种硬件平台,几乎能够运行在所有流行的CPU上。Linux有着异常丰富的驱动程序资源,支持各种主流硬件设备和最新的硬件技术,甚至可以在没有存储管理单元的处理器上运行,这些都进一步促进了Linux在嵌入式系统中的应用。开放源码,软件丰富 Linux是开放源代码的自由操作系统,它为用户提供了最大限度的自由度。由于嵌入式系统千差万别,往往需要针对具体的应用进行修改和优化,因而获得源代码就变得至关重要了。Linux的软件资源十分丰富,每一种通用程序在Linux上几乎都可以找到,并且数量还在不断增加。在Linux上开发嵌入式应用软件一般不用从头做起,而是可以选择一个类似的自由软件作为原型,在其上进行二次开发。二、编成环境搭建嵌入式Linux应用程序的开发交叉编译 简单地说,就是在一个平台上生成另一个平台上的可执行代码。 平台实际上包含两个概念:体系结构(Architecture)、操作系统(OperatingSystem)。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。举例来说,我们常说的x86Linux平台实际上是Intelx86体系结构和Linuxforx86操作系统的统称;而x86WinNT平台实际上是Intelx86体系结构和WindowsNTforx86操作系统的简称。交叉编译器 ----用来编译这种跨平台程序的编译器宿主机为LINUX操作系统,完全在Linux下开发、编译、下载程序。 宿主机为Windows操作系统,使用Cygwin程序模拟Linux环境,进行开发。 宿主机为Windows操作系统,使用VMware创建一台虚拟计算机,在虚拟的计算机中安装Linux操作系统。在Windows中进行代码编写,在虚拟机的Linux系统中编译生成目标代码。虚拟机WMware 代码编辑器SourceInSight Linux开发基础VMWare功能 可虚拟出若干台机器。 每台机器可以运行单独的操作系统而互不干扰。 拥有各自的CMOS、硬盘、内存、串口等硬件资源。 拥有普通机器所以功能。 可以将这几个操作系统联成一个网络。 在虚拟系统崩溃之后可直接删除不影响本机系统 本机系统崩溃后也不影响虚拟系统,可以下次重装后再加入以前做的虚拟系统SourceInsight 是一个面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C/C++,C#和Java等程序的分析。SourceInsight能分析你的源代码并在你工作的同时动态维护它自己的符号数据库,并自动为你显示有用的上下文信息。Linuxshell Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Linux系统的关键。 shell是用户和Linux内核之间的接口程序,如果把Linux内核想象成一个球体的中心,shell就是围绕内核的外层。当从shell或其它程序向Linux传递命令时,内核会做出相应的反应。 shell是一个命令语言解释器,它拥有自己内建的shell命令集,shell也能被系统中其它应用程序所调用。用户在提示符下输入的命令都由shell先解释然后传给Linux核心。 Shell命令有两种形式: 内部命令,存在于内存中,比如cd。 外部命令,存在于文件系统中某个目录下的单独的程序,例如cp、rm Shell的种类 Bourneshell(sh) 作者是StevenBourne,它是UNIX最初使用的Shell并且在每种 UNIX上都可以使用。 Cshell(csh) CShell由BillJoy所写,它更多的考虑了用户界面的友好性。语法 和C语言很相似。 Kornshell(ksh) 由DaveKorn所写,它集合了CShell和BourneShell的优点并且 和