嵌入式LINUX编程环境.ppt
文本预览下载声明
嵌入式LINUX简介 主要内容 一、嵌入式LINUX简介 二、编成环境搭建 * 嵌入式LINUX编程环境 主讲人:余小虎 2008年07月31日 嵌入式LINUX简介 一、嵌入式LINUX简介 ?嵌入式系统定义: 是以应用为中心,以计算机技术为基础,并且软硬件是可裁剪的,适用于对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。 体系结构: 嵌入式处理器 嵌入式外围设备 嵌入式操作系统 嵌入式应用软件 ?嵌入式LINUX系统的基本元素: 引导工具 Linux微内核 初始化进程 硬件驱动程序 应用程序 文件系统 协议栈 广泛的硬件支持 Linux能够支持x86、ARM、MIPS、ALPHA、PowerPC等多种体系结构,目前已经成功移植到数十种硬件平台,几乎能够运行在所有流行的CPU上。Linux有着异常丰富的驱动程序资源,支持各种主流硬件设备和最新的硬件技术,甚至可以在没有存储管理单元的处理器上运行,这些都进一步促进了Linux在嵌入式系统中的应用。 Linux作为嵌入式操作系统的优势 内核高效稳定 Linux内核的高效和稳定已经在各个领域内得到了大量事实的验证,Linux的内核设计非常精巧,分成进程调度、内存管理、进程间通信、虚拟文件系统和网络接口五大部分,其独特的模块机制可以根据用户的需要,实时地将某些模块插入到内核或从内核中移走。这些特性使得Linux系统内核可以裁剪得非常小巧,很适合于嵌入式系统的需要。 开放源码,软件丰富 Linux是开放源代码的自由操作系统,它为用户提供了最大限度的自由度。由于嵌入式系统千差万别,往往需要针对具体的应用进行修改和优化,因而获得源代码就变得至关重要了。Linux的软件资源十分丰富,每一种通用程序在Linux上几乎都可以找到,并且数量还在不断增加。在Linux上开发嵌入式应用软件一般不用从头做起,而是可以选择一个类似的自由软件作为原型,在其上进行二次开发。 完善的网络通信和文件管理机制 Linux从诞生之日起就与Internet密不可分,支持各种标准的Internet网络协议,并且很容易移植到嵌入式系统当中。此外,Linux还支持ext2、fat32、romfs等文件系统,这些都为开发嵌入式系统应用打下了很好的基础。 二、编成环境搭建 嵌入式Linux应用程序的开发 串口 并口 JTAG 宿主机(X86) 目标板(ARM / PPC / …) 网口 交叉编译 简单地说,就是在一个平台上生成另一个平台上的可执行代码。 平台 实际上包含两个概念:体系结构(Architecture)、操作系统(Operating System)。同一个体系结 构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。举例来说,我们常说 的x86 Linux平台实际上是Intel x86体系结构和Linux for x86操作系统的统称;而x86 WinNT平台实际上是 Intel x86体系结构和Windows NT for x86操作系统的简称。 交叉编译器 ----用来编译这种跨平台程序的编译器 Binutils 包括连接器、汇编器和其他用于目标文件和档案的工具,它是二进制代码的处理维护工具。 Glibc GUN C库 Gcc 多平台编译器 宿主机为LINUX操作系统,完全在Linux下开发、编译、下载程序。 宿主机为Windows操作系统,使用Cygwin 程序模拟Linux环境,进行开发。 宿主机为Windows操作系统,使用VMware创建一台虚拟计算机,在虚拟的计算机中安装Linux操作系统。在Windows中进行代码编写,在虚拟机的Linux系统中编译生成目标代码。 开发方式 虚拟机WMware 代码编辑器SourceInSight Linux开发基础 VMWare功能 可虚拟出若干台机器。 每台机器可以运行单独的操作系统而互不干扰。 拥有各自的CMOS、硬盘、内存、串口等硬件资源。 拥有普通机器所以功能。 可以将这几个操作系统联成一个网络。 在虚拟系统崩溃之后可直接删除不影响本机系统 本机系统崩溃后也不影响虚拟系统,可以下次重装后再加入以前做的虚拟系统 Source Insight 是一个面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C/C++, C#和Java等程序的分析。Source Insight能分析你的源代码并在你工作的同时动态维护它自己的符号数据库,并自动为你显示有用的上下文信息。 Linux 内核版本 源程
显示全部