嵌入式LINUX编程环境.ppt
《嵌入式LINUX编程环境.ppt》由会员分享,可在线阅读,更多相关《嵌入式LINUX编程环境.ppt(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式LINUX编程环境 主讲人:余小虎主讲人:余小虎 20082008年年0707月月3131日日主要内容主要内容一、嵌入式一、嵌入式LINUX简介简介二、编成环境搭建二、编成环境搭建一、嵌入式一、嵌入式LINUX简介简介嵌入式系统定义:嵌入式系统定义:是以应用为中心,以计算机技术为基础,并且软硬件是可裁剪的,适用于对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。体系结构:体系结构:嵌入式处理器嵌入式外围设备嵌入式操作系统嵌入式应用软件嵌入式嵌入式LINUX系统的基本元素:系统的基本元素:引导工具Linux微内核初始化进程硬件驱动程序应用程序文件系统协议栈广泛的硬件支持广泛的硬
2、件支持Linux能够支持x86、ARM、MIPS、ALPHA、PowerPC等多种体系结构,目前已经成功移植到数十种硬件平台,几乎能够运行在所有流行的CPU上。Linux有着异常丰富的驱动程序资源,支持各种主流硬件设备和最新的硬件技术,甚至可以在没有存储管理单元的处理器上运行,这些都进一步促进了Linux在嵌入式系统中的应用。Linux作为嵌入式操作系统的优势作为嵌入式操作系统的优势内核高效稳定内核高效稳定Linux内核的高效和稳定已经在各个领域内得到了大量事实的验证,Linux的内核设计非常精巧,分成进程调度、内存管理、进程间通信、虚拟文件系统和网络接口五大部分,其独特的模块机制可以根据用户
3、的需要,实时地将某些模块插入到内核或从内核中移走。这些特性使得Linux系统内核可以裁剪得非常小巧,很适合于嵌入式系统的需要。开放源码,软件丰富开放源码,软件丰富Linux是开放源代码的自由操作系统,它为用户提供了最大限度的自由度。由于嵌入式系统千差万别,往往需要针对具体的应用进行修改和优化,因而获得源代码就变得至关重要了。Linux的软件资源十分丰富,每一种通用程序在Linux上几乎都可以找到,并且数量还在不断增加。在Linux上开发嵌入式应用软件一般不用从头做起,而是可以选择一个类似的自由软件作为原型,在其上进行二次开发。完善的网络通信和文件管理机制完善的网络通信和文件管理机制Linux从
4、诞生之日起就与Internet密不可分,支持各种标准的Internet网络协议,并且很容易移植到嵌入式系统当中。此外,Linux还支持ext2、fat32、romfs等文件系统,这些都为开发嵌入式系统应用打下了很好的基础。二、编成环境搭建二、编成环境搭建嵌入式嵌入式Linux应用程序的开应用程序的开发发串口并口JTAG宿主机(X86)目标板(ARM/PPC/)网口交叉编译交叉编译简单地说,就是在一个平台上生成另一个平台上的可执行代码。平台实际上包含两个概念:体系结构(Architecture)、操作系统(OperatingSystem)。同一个体系结构可以运行不同的操作系统;同样,同一个操作系
5、统也可以在不同的体系结构上运行。举例来说,我们常说的x86Linux平台实际上是Intelx86体系结构和Linuxforx86操作系统的统称;而x86WinNT平台实际上是Intelx86体系结构和WindowsNTforx86操作系统的简称。交叉编译器交叉编译器 -用来编译这种跨平台程序的编译器 Binutils包括连接器、汇编器和其他用于目标文件和档案的工具,它是二进制代码的处理维护工具。GlibcGUNC库Gcc多平台编译器宿主机为LINUX操作系统,完全在Linux下开发、编译、下载程序。宿主机为Windows操作系统,使用Cygwin程序模拟Linux环境,进行开发。宿主机为Win
6、dows操作系统,使用VMware创建一台虚拟计算机,在虚拟的计算机中安装Linux操作系统。在Windows中进行代码编写,在虚拟机的Linux系统中编译生成目标代码。开发方式开发方式虚拟机WMware代码编辑器SourceInSightLinux开发基础VMWare功能功能可虚拟出若干台机器。每台机器可以运行单独的操作系统而互不干扰。拥有各自的CMOS、硬盘、内存、串口等硬件资源。拥有普通机器所以功能。可以将这几个操作系统联成一个网络。在虚拟系统崩溃之后可直接删除不影响本机系统本机系统崩溃后也不影响虚拟系统,可以下次重装后再加入以前做的虚拟系统Source Insight是一个面向项目开发
7、的程序编辑器和代码浏览器,它拥有内置的对C/C+,C#和Java等程序的分析。SourceInsight能分析你的源代码并在你工作的同时动态维护它自己的符号数据库,并自动为你显示有用的上下文信息。Linux内核版本内核版本源程序版本号的形式为x.y.z。对于稳定树来说,y是偶数;对于开发树来说,y比相应的稳定树大一(因此,是奇数)。最新2.6.X发行版发行版 SlackwareLinuxDebianMandrakeMandrakeSoftRedHatSuSESuSEAG中软Linux中科红旗LinuxTurbolinuxBluePointLinuxshell Shell本身是一个用C语言编写的
8、程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Linux系统的关键。shell是用户和Linux内核之间的接口程序,如果把Linux内核想象成一个球体的中心,shell就是围绕内核的外
9、层。当从shell或其它程序向Linux传递命令时,内核会做出相应的反应。shell是一个命令语言解释器,它拥有自己内建的shell命令集,shell也能被系统中其它应用程序所调用。用户在提示符下输入的命令都由shell先解释然后传给Linux核心。Shell命令有两种形式:内部命令,存在于内存中,比如cd。外部命令,存在于文件系统中某个目录下的单独的程序,例如cp、rmShell的种类的种类Bourneshell(sh)作者是StevenBourne,它是UNIX最初使用的Shell并且在每种UNIX上都可以使用。Cshell(csh)CShell由BillJoy所写,它更多的考虑了用户界面
10、的友好性。语法和C语言很相似。Kornshell(ksh)由DaveKorn所写,它集合了CShell和BourneShell的优点并且和BourneShell完全兼容。BASHBourneAgainshell(bash),是Bourneshell的扩展。常用命令常用命令帮助命令help,man,whatis,whereis显示文件内容命令cat,more,less,head,tail,od,file,touch文件内容查询命令grep文件查找命令find,locate文件比较命令diff,comm文件权限chmod文件复制、删除和移动命令cp,rm,mv打包命令tar文件与目录的基本概念文件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 LINUX 编程 环境
限制150内