嵌入式系统及其操作系统移植课件

上传人:仙*** 文档编号:241281066 上传时间:2024-06-15 格式:PPTX 页数:40 大小:1.24MB
返回 下载 相关 举报
嵌入式系统及其操作系统移植课件_第1页
第1页 / 共40页
嵌入式系统及其操作系统移植课件_第2页
第2页 / 共40页
嵌入式系统及其操作系统移植课件_第3页
第3页 / 共40页
点击查看更多>>
资源描述
嵌入式嵌入式系统及系统及Linux操作系统移植操作系统移植概述概述西安科技大学李岩松目录目录嵌入式系统定义1硬件构成及工作原理2软件构成3移植概述4ChapterChapter嵌入式系统嵌入式系统1嵌入到特定对象体系中的专用计算机系统什么是嵌入式系统?集成度高非标准化接口复杂多样工控飞控机控监测服务业导航终端Smarthome远程呼叫PDA所有的智能手机PAD小米手环机器人四旋翼飞机扫地机器人机械义肢典型应用硬件构成及运行原理硬件构成及运行原理2ChapterChapter2.001CPU03INTERFACE05WORKINGPRINCIPLE02MEM04DEVICE2.1CPUCPU是一个嵌入式系统的核心,对系统的性能有很大的影响。ARM/MIPS:S3C24xx,STM32,RaspberryPiMCU:AT89xx,STC89xxFPGA:CycloneDSP:EPM71282.2MEMRAM:SRAM,DRAMROM:EPROM,EEPROMFLASH:NorFLASH,NandFLASH寄存器寄存器高速缓存高速缓存SRAM主存储器主存储器DRAM本地存储器本地存储器 Flash、ROM、磁盘、磁盘网络存储器网络存储器 Flash、ROM、磁盘、磁盘时时钟钟周周期期011050100200000002.3INTERFACE/BUSBUS三总线解构:Dbus:数据总线Abus:地址总线Cbus:控制总线 容量:512K字节;数据宽度:16位;工作电压:3.3V;SRAM接口电路 IS61LV25616IS61LV256162.4DEVICE传感器是直接与物理世界接触的感知器件,连接了片内数字世界与外部的物理世界。是嵌入式系统的“感官”。地磁传感器温度传感器湿度度传感器加速度传感器2.5运行原理2.5.1cpu内部运行原理注意:(1)这幅图使用于CISC解构的冯洛伊曼机。(2)此时的程序是编译后的机器码,可以理解为汇编指令。(3)微程序控制方式2.5.2微程序控制的指令运行微程序是计算机里面的“第一推动力”。流程是解释任务的;程序(高级语言)是解释流程的;指令是解释程序的;微程序是解释指令的;而门电路直接反映了微程序的意志。2.5.3接口技术/三总线的应用这是一个8086利用3-8译码器控制DA芯片输出特定波形的系统。从图中可以看出,74LS138对于8086来说,端口地址是C0HC3H(地址线)。控制线IO/M参与地址译码,地址线A0,A1悬空,导致地址复用。(C0HC3H都对应74LS138)将74LS138的地址改为C0HA1A0软件构成软件构成3ChapterChapter2024/6/153.13.1嵌入式系统结构嵌入式系统结构有时也叫板级支持包,有时也叫板级支持包,是一个介于硬件与软是一个介于硬件与软件之间的中间层次。件之间的中间层次。硬件抽象层通过特定硬件抽象层通过特定的上层接口与操作系的上层接口与操作系统进行交互,向操作统进行交互,向操作系统提供底层的硬件系统提供底层的硬件信息,并根据操作系信息,并根据操作系统的要求完成对硬件统的要求完成对硬件的直接操作的直接操作Hardware Abstraction Layer Hardware Abstraction Layer:BSP&Device DriverBSP&Device DriverSCSISCSIDriverDriverFlashFlashDriverDriverMMUMMUDriverDriverCacheCacheDriverDriverSerialSerialDriverDriverEthernetEthernetDriverDriverDeviceDeviceDriversDrivers支持嵌入式系统应用的操作系统软支持嵌入式系统应用的操作系统软件件,它是嵌入式系统(包括硬、软件它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器议、图形界面、标准化浏览器Browser等等 Hardware Independent SoftwareHardware Independent SoftwareTCP/IP StackTCP/IP StackI/O SystemI/O SystemRTOS librariesRTOS librariesRTOS KernelRTOS KernelFile SystemFile SystemBoot LoaderBoot Loader中间件位于操作系统和应用软件之间,屏中间件位于操作系统和应用软件之间,屏蔽了各种操作系统提供不同应用程序接口蔽了各种操作系统提供不同应用程序接口的事实,向应用程序提供统一的接口,从的事实,向应用程序提供统一的接口,从而便于用户开发应用程序,同时也使应用而便于用户开发应用程序,同时也使应用程序具有跨平台的特性。程序具有跨平台的特性。嵌入式应用程序运行于操作系统之上,利用操作系统提供的机制完嵌入式应用程序运行于操作系统之上,利用操作系统提供的机制完成特定功能的嵌入式应用,不同的系统需要设计不同的嵌入式应用成特定功能的嵌入式应用,不同的系统需要设计不同的嵌入式应用程序。它是整个系统功能的体现,系统的能力总是通过应用程序表程序。它是整个系统功能的体现,系统的能力总是通过应用程序表现出来。现出来。一个嵌入式系统可简单的没有支撑软件,甚至没有操作系一个嵌入式系统可简单的没有支撑软件,甚至没有操作系统,但却不能没有应用软件,否则它就不能成为一个系统。统,但却不能没有应用软件,否则它就不能成为一个系统。3.23.2嵌入式操作系统的演变嵌入式操作系统的演变*Percent of total software supplied by RTOS vendor in a typical embedded Percent of total software supplied by RTOS vendor in a typical embedded devicedevice10%*Kernel30%*KernelNetworkingFile System75%*KernelNetworkingFile SystemMultiprocessingMemory ManagementNetworking UtilityWindows APIApplicationApplicationApplicationApplication90%*90%*KernelNetworkingFile SystemMultiprocessingFault ToleranceDistributed ObjectsAdvanced NetworkingAdvanced InterconnectJavaBrowser/GUI3.33.3嵌入式操作系统分类嵌入式操作系统分类从应用领域来分面向信息家电的嵌入式操作系统面向智能手机的嵌入式操作系统,如SymbianOS、MSMobileOS、PalmOS、EmbeddedLinux等面向汽车电子的嵌入式操作系统面向工业控制的嵌入式操作系统.从实时性的角度来分从实时性的角度来分l实时嵌入式操作系统实时嵌入式操作系统:具有强实时特点,如:具有强实时特点,如VxWorks、QNX、Nuclear、OSE、DeltaOS、各种、各种ITRON OS等。等。l非实时嵌入式操作系统非实时嵌入式操作系统:一般只具有弱实时特点,如:一般只具有弱实时特点,如WinCE、版本、版本众多的嵌入式众多的嵌入式Linux、PalmOS等。等。从嵌入式系统的商业模式来分类从嵌入式系统的商业模式来分类l商用型商用型:功能稳定、可靠,有完善的技术支持和售后服:功能稳定、可靠,有完善的技术支持和售后服务,务,开发费用+版税。l开源型开源型:开放源码,只收服务费,没有版税。:开放源码,只收服务费,没有版税。如如Embedded linux,RTEMS,eCOS。3.4主流嵌入式操作系统主流嵌入式操作系统嵌入式操作系统的选择嵌入式操作系统的选择免费免费,实时性实时性好好,过于简单过于简单价格昂贵价格昂贵,实实时性好时性好价格较贵价格较贵,实实时性一般时性一般 免费,实时性较差性能稳定,硬件需求小,可剪裁MV-Linux KURT Red-Linux RT-Linux WinCEVxworksC/OS-Linux 进行实时性改进进行实时性改进单内核改进方案双内核改进方案RTAI-Linux 价格较贵价格较贵,实时性实时性好好,不方便移植不方便移植不免费不免费,实时性实时性好好,方便移植方便移植免费免费,实时性实时性好好,方便移植方便移植开源免费支持剪裁BLOB引导程序Linux内核Rootfs根文件系统用户应用程序(GUI)嵌入式嵌入式嵌入式嵌入式LinuxLinuxLinuxLinux系统软件平台结构图系统软件平台结构图设备驱动的编写JFFS2,YAFFS,TMPFSQT图形界面的建立ViviUbootRedbootBlob支持串口下载功能,代码量小支持串口,网络下载功能,代码量大支持串口,网络下载功能,代码量最大支持串口,网络下载功能,代码量小BootLoaderBLOB引导程序Linux内核Rootfs根文件系统用户应用程序(GUI)嵌入式嵌入式嵌入式嵌入式LinuxLinuxLinuxLinux系统软件平台结构图系统软件平台结构图设备驱动的编写JFFS2,YAFFS,TMPFSQT图形界面的建立Linux内核的组成BLOB引导程序Linux内核Rootfs根文件系统用户应用程序(GUI)嵌入式嵌入式嵌入式嵌入式LinuxLinuxLinuxLinux系统软件平台结构图系统软件平台结构图设备驱动的编写JFFS2,YAFFS,TMPFSQT图形界面的建立ARMARM上上LinuxLinux的文件系统设计的文件系统设计根文件系统:CRAMFS用户文件系统:YAFFS临时文件系统:Ramfs移植概述移植概述4ChapterChapter4.1准备阶段linux kernel linux-2.6.14.1.tar.gzSkyeye skyeye-1.2-RC8-3.tar.bz2toolchain cross-2.95.3.tar.bz2,也可以使用gcc,gdb,glibc,binutils等工具自己编译产生。binuils binutils-2.16.tar.gzgcc gcc-3.4.4.tar.bz2glibc glibc-2.3.5.tar.gzglibc-linuxthreads-2.3.5.tar.gzgdb gdb-5.2.tar.bz2u-boot u-boot1.1.4.tar.bz2Batch(补丁)ioperm.c.diff 作用:打修正ioperm()函数flow.c.diff 作用:该补丁用于产生crti.o和crtn.o文件t-linux.diff 作用:修改gcc一处bug其他工具busybox-1.1.3.tar.gz01BootLoaderBootLoader03rootFSrootFS02KernelKernel4.2移植三部曲BootLoader是系统加电启运行的第一段软件代码,PC机中的引导加载程序由BIOS(其本质就是一段固件程序)和位于硬盘MBR中的引导程序一起组成。BIOS在完成硬件检测和资源分配后,将硬盘MBR中的引导程序读到系统的RAM中,然后将控制权交给引导程序。引导程序的主要运行任务就是将内核映象从硬盘上读到RAM中然后跳转到内核的入口点去运行,也即开始启动操作系统。每种不同的每种不同的CPU体系结构都有不同的体系结构都有不同的BootLoader。启动加载(启动加载(Boot loading)模式)模式下载(下载(Downloading)模式)模式01BootLoaderBootLoader03rootFSrootFS02KernelKernel修改Makefile设置PATH环境变量,使其可以找到交叉编译工具链设置flash分区。配置内核产生.config文件。makemenuconfig。编译内核,生成zImage。下载zImage到开发板01BootLoaderBootLoader03rootFSrootFS02KernelKernel建立一个目标板的空根目录建立Linux目录树创建linuxrc文件挂载/etc为ramfs,并从/mnt/etc下拷贝文件到/etc目录当中挂载/proc为proc文件系统挂载/sys为sysfs文件系统。挂载其他文件系统。相关配置文件的创建创建帐号及密码文件创建profile文件创建fstab文件。THANKS
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!