linux 操作系统的移植及应用.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《linux 操作系统的移植及应用.ppt》由会员分享,可在线阅读,更多相关《linux 操作系统的移植及应用.ppt(68页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Embest Info&Tech Co.,LTD.linux 操作系统的移植及应用操作系统的移植及应用 培训中心培训中心 20101Embest Info&Tech Co.,LTD.主要内容主要内容q嵌入式操作系统嵌入式操作系统 linux概述概述 建立开发环境建立开发环境 linux内核配置与编译内核配置与编译 linux移植移植 系统引导程序系统引导程序Boot Loader linux的文件系统的文件系统 linux内核程序内核程序 linux应用程序开发应用程序开发2Embest Info&Tech Co.,LTD.操作系统概述操作系统概述q为什么需要操作系统早期的8位/16位系统中大
2、多没有操作系统进入32位时代 -系统中的软件越来越复杂,完全驾奴的能力不够 -维护成本太高、系统升级困难使用嵌入式操作系统 -稳定性好、性能高、功能完善 -遵循标准,便于移植、升级3Embest Info&Tech Co.,LTD.嵌入式操作系统的特点嵌入式操作系统的特点提供内核管理多任务管理外围资源管理要更稳定可裁剪、可配置实时性需求针对应用的优化与功能增强4Embest Info&Tech Co.,LTD.典型的嵌入式操作系统典型的嵌入式操作系统uC/OS-II操作系统操作系统简单高效、免费、支持64个任务、支持多种CPU、无设备驱动程序、缺乏足够的应用模块。eCOS操作系统操作系统免费使
3、用、支持多种CPU、使用GNU工具链开发、有完备的设备驱动程序和应用模块、支持POSIX标准、需要较多的系统资源。VxWorks嵌入式实时操作系统嵌入式实时操作系统销售额最大,价格昂贵;通常只提供二进制码内核;支持多种CPU;完整的开发工具和测试工具;完备的设备驱动和应用模块;支持POSIX标准;性能好,功能齐全。WinCE操作系统操作系统Microsoft出品、需购买许可、支持多线程、有优先级、虚拟内存、提供类似PC机的操作系统界面等。Linux操作系统操作系统类似UNIX;免费;源代码开放;符合POSIX标准;支持TCP/IP;支持绝大多数32位和64位CPU;抢先式多任务处理;内存保护;
4、虚拟内存等。5Embest Info&Tech Co.,LTD.主要内容主要内容 嵌入式操作系统嵌入式操作系统qlinux概述概述 建立开发环境建立开发环境 linux内核配置与编译内核配置与编译 linux移植移植 系统引导程序系统引导程序Boot Loader linux的文件系统的文件系统 linux内核程序内核程序 linux应用程序开发应用程序开发6Embest Info&Tech Co.,LTD.Linux操作系统操作系统最初设计为桌面系统,现广泛应用于服务器。Linux的特点:支持多种体系结构,支持大量外设,网络功能完善开放源代码,软件资源丰富,内核稳定而高效,大小及功能均可定制
5、。满足嵌入式操作系统的要求,目前在嵌入式领域高速发展,催生了一些嵌入式Linux,如uClinux、RTLinux1969年,Bell实验室,发明UNIX1991年,芬兰Linus Torvalds,设计了Linux7Embest Info&Tech Co.,LTD.Linux内核版本号约定内核版本号约定x.y.zz -x:主版本号 -y:次版本号,奇数=开发版,偶数=稳定版 -zz:子版本号,当前版本的修订次数例如:2.4.18表示对核心2.4版本的第18次修订,该版本为可以使用的稳定版本。8Embest Info&Tech Co.,LTD.linux应用特征应用特征广泛的处理器结构和硬件平
6、台支持程序代码的质量与可靠度高 提供广泛的通信协议和软件标准支持丰富的应用软件和广泛的社群支持低廉的成本开源软件可靠的系统安全 9Embest Info&Tech Co.,LTD.linux设计特征设计特征linux的内存管理linux的多进程处理linux针对实时性的解决方案执行程序的格式文件系统标准C函数库10Embest Info&Tech Co.,LTD.linux系统组成系统组成q一个基于linux 的完整的嵌入式系统由三个部分组成:系统引导程序、linux 操作系统内核和文件系统。系统引导程序通常称作Boot Loader,平台上执行的第一段代码,类似BIOS、BSP。内核比较精简
7、,压缩后一般小于1M。文件系统主要存储用户应用程序,同时包括系统配置文件、系统程序和必需的驱动程序,根据用户所加入应用程序的大小,文件系统所占空间也存在比较大的差异。采用分区存放11Embest Info&Tech Co.,LTD.linux内内核结构核结构qLinux内核与大部分UNIX内核一样是单内核体系结构的,即它是由几个逻辑功能上不同的部分组合而成的大程序。单内核结构可以动态加载和卸载模块(module),能够根据需要定制内核映像的尺寸;具有很大灵活性,不需要重新编译内核且引导就能检验新的内核组件,方便用户构筑自己的个人内核。q Linux内核由5个主要的子系统组成,分别为:进程调度(
8、SCHED)、内存管理(MM)、虚拟文件系统(Virtul File System,VFS)、网络接口(NET)和进程间通信(IPC)。12Embest Info&Tech Co.,LTD.内核结构示意图内核结构示意图13Embest Info&Tech Co.,LTD.linux文件目录结构文件目录结构linux 发布版文件目录结构和功能如下图所示:14Embest Info&Tech Co.,LTD.主要内容主要内容 嵌入式操作系统嵌入式操作系统 linux概述概述q建立开发环境建立开发环境 编译运行编译运行linux linux移植移植 系统引导程序系统引导程序Boot Loader l
9、inux的文件系统的文件系统 linux内核程序内核程序 linux应用程序开发应用程序开发15Embest Info&Tech Co.,LTD.建立交叉编译环境建立交叉编译环境宿主机目标机LinuxWindows-Cygwin安装环境Linux环境下GNU工具(编译、链接)安装工具16Embest Info&Tech Co.,LTD.Cygwin介绍介绍qCygwin软件是一个运行于windows下的Linux模拟环境。它包括:动态链接库Cygwin.dll一组Linux工具集qCygwin提供的一组功能强大的工具,包括大多数GNU软件(如gcc,gdb,xfree86,bash,tetex
10、,opengl,perl,python等),可以帮助开发人员将应用程序从Linux移植到Windows平台。qCygwin对于学习掌握Linux操作环境,或者进行某些特殊的开发工作,尤其是使用GNU工具集在Windows上进行嵌入式系统开发,非常有用。17Embest Info&Tech Co.,LTD.Cygwin的安装和设置的安装和设置(一)(一)下载网址:http:/http:/ from Local Directory“,选择“下一步”,如图所示。18Embest Info&Tech Co.,LTD.Cygwin的安装和设置(的安装和设置(二)二)选择Cygwin的安装目录。选择DOS
11、文本文件类型(DOS与UNIX文本类型的区别在于前者的换行为ASCLL的0 x0D和0 x0A组合,后者是0 x0D)。选择“下一步”,如图所示。NTFS19Embest Info&Tech Co.,LTD.Cygwin的安装和设置(三)的安装和设置(三)选择安装项目。点击在安装项目左边的“default”,可以调整该项目的安装设置。开发Linux必须选择全部安装以下项目:Admin -包括启动服务cygrunsrv等工具,NFS启动必备 Archive-压缩解压工具集 Base -基本的Linux工具集 Devel -开发工具集,包括gcc、make等开发工具 Libs -函数库 Net -
12、网络工具集 Shells -常用Shell工具集 Utils -包括bzip2等实用工具集20Embest Info&Tech Co.,LTD.交叉编译链接工具介绍(一交叉编译链接工具介绍(一)编译、汇编、链接工具编译、汇编、链接工具:arm-linux-g+arm-linux-g+、arm-linux-c+arm-linux-c+C+编译器。arm-arm-linux-c+filtlinux-c+filt C+语言支持函数重载,可以使用相同的函数名称和不同的函数参数,连接器使用本工具来过滤 C+和Java 符号,防止重载函数冲突。arm-arm-linux-gcclinux-gcc 编译器。
13、arm-linux-asarm-linux-as 汇编器。arm-linux-ldarm-linux-ld 连接器。arm-arm-linux-protoizelinux-protoize、arm-arm-linux-unprotoizelinux-unprotoize gcc的可选部分,protoize在程序中增加函数原型,转换程序符合标准C规范。Unprotoize则清除所找到的的函数原型的参数。21Embest Info&Tech Co.,LTD.交叉编译链接工具介绍(二)交叉编译链接工具介绍(二)实用工具集实用工具集 :arm-linux-addr2linearm-linux-addr
14、2line arm-arm-linux-arlinux-ar arm-linux-nmarm-linux-nm arm-arm-linux-objcopylinux-objcopy arm-arm-linux-objdumplinux-objdump arm-arm-linux-ranliblinux-ranlib arm-arm-linux-readelflinux-readelf 22Embest Info&Tech Co.,LTD.交叉编译链接工具介绍(三交叉编译链接工具介绍(三)文件系统工具文件系统工具:cramfsck cramfsck CRAMFS文件系统的释放工具。mkcramf
15、smkcramfs CRAMFS文件系统的生成工具。23Embest Info&Tech Co.,LTD.将Linux系统下的工具链安装解压包:cross-armtools-linux-edukit2410.tar.bz2 在控制台使用以下命令安装:将cross-armtools-linux-edukit2410.tar.bz2拷贝到/tmp/目录下。cdcd /tmptmp tar-P-tar-P-xvjfxvjf cross-armtools-linux-edukit2410.tar.bz2 cross-armtools-linux-edukit2410.tar.bz2 source so
16、urce armtools-linux/cross-install.sharmtools-linux/cross-install.sh 软件自动将工具链安装到/usr/arm-linux目录。开发工具链安装开发工具链安装24Embest Info&Tech Co.,LTD.主要内容主要内容 嵌入式操作系统嵌入式操作系统 linux概述概述 建立开发环境建立开发环境qlinux内核配置与编译内核配置与编译 linux移植移植 系统引导程序系统引导程序Boot Loader linux的文件系统的文件系统 linux内内核程序调试核程序调试 linux应用程序开发应用程序开发25Embest In
17、fo&Tech Co.,LTD.安装安装linux源代码源代码linuxlinux官方网站官方网站linuxlinux源代码最新版本的下载地址为:源代码最新版本的下载地址为:http:/www.arm.linux.org.uk/developer/源代码包名称为linux-2.4.18-rmk7-pxa1-mz5.tar.bz2。解压解压linuxlinux源代码包,执行命令:源代码包,执行命令:cdcd /usr/local/srcusr/local/src/tar-tar-xvjfxvjf linux-2.4.18-rmk7-pxa1-mz5.tar.bz2 linux-2.4.18-rm
18、k7-pxa1-mz5.tar.bz2 26Embest Info&Tech Co.,LTD.配置配置linuxlinux内核内核linux提供三个不同的命令进行提供三个不同的命令进行 linux的的配置,效果完全一样配置,效果完全一样。make make menuconfigmenuconfig make make configconfig make make xconfigxconfig 一般我们选择一般我们选择make xconfig,它提供一个图形界面,比较直观。它提供一个图形界面,比较直观。27Embest Info&Tech Co.,LTD.内核配置选项内核配置选项q内核编译以前首
19、先应该对内核进行配置,裁剪不必要的内容,在完全实现硬件功能的前提下尽量节约空间。28Embest Info&Tech Co.,LTD.编译编译linuxlinux内核内核cd /usr/local/src/kernelmake dep-搜索linux编译输出与源代码之间的依赖关系,并以此生成依赖文件make clean-清除以前构造内核时生成的所有目标文件、模块文件和临时文件。make zImage-编译Linux内核,生成压缩的内核映像文件 29Embest Info&Tech Co.,LTD.运行运行linuxq通过编译最终在arch/arm/boot目录下生成1个文件:zImage li
20、nux 内核2.4.x的压缩方式可执行映像文件。q烧写映像文件:烧写映像文件:通过Flash烧写工具,分别将Bootloader(启动)、zImage以及 root.cramfs三个映像文件固化到Flash中。q配置超级终端:配置超级终端:启动PC上超级终端软件并设置超级终端为115200 波特率,无校 验,1 位停止位,无数据流控制。q运行运行linuxlinux:复位EduKit4 2410开发板,通过超级终端观察linux的启动运 行。30Embest Info&Tech Co.,LTD.主要内容主要内容 嵌入式操作系统嵌入式操作系统 linux概述概述 建立开发环境建立开发环境 编译运
21、行编译运行linuxqlinux移植移植 系统引导程序系统引导程序Boot Loader linux的文件系统的文件系统 linux内核程序内核程序 linux应用程序开发应用程序开发31Embest Info&Tech Co.,LTD.linux的的移植移植处理器结构层次移植处理器结构层次移植芯片层次移植芯片层次移植目标板板级移植目标板板级移植32Embest Info&Tech Co.,LTD.处理器结构层次移植(处理器结构层次移植(1)q处理器结构的源文件在kernel/arch目录下;q包含所有已支持的处理器,以子目录形式提供,如arm、armnommu、m68k、mips64等;ql
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 操作系统的移植及应用 操作系统 移植 应用
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内