嵌入式系统嵌入式课件.ppt

上传人:石*** 文档编号:47032812 上传时间:2022-09-28 格式:PPT 页数:62 大小:1.32MB
返回 下载 相关 举报
嵌入式系统嵌入式课件.ppt_第1页
第1页 / 共62页
嵌入式系统嵌入式课件.ppt_第2页
第2页 / 共62页
点击查看更多>>
资源描述

《嵌入式系统嵌入式课件.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统嵌入式课件.ppt(62页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、关于嵌入式系统嵌入式关于嵌入式系统嵌入式现在学习的是第1页,共62页一、嵌入式一、嵌入式LinuxLinux的定义的定义l嵌入式嵌入式Linux(Embedded Linux)Linux(Embedded Linux)是指对是指对LinuxLinux经过小型化裁剪后,能够固化在经过小型化裁剪后,能够固化在容量只有几容量只有几K K字节或几字节或几M M字节的存储器芯字节的存储器芯片或单片系统中,应用于特定嵌入式场片或单片系统中,应用于特定嵌入式场合的专用合的专用LinuxLinux操作系统操作系统现在学习的是第2页,共62页嵌入式嵌入式LinuxLinux的优势的优势 lLinuxLinux系

2、统是层次结构且内核完全开放系统是层次结构且内核完全开放l强大的网络支持功能强大的网络支持功能lLinuxLinux具备一整套工具链,容易自行建具备一整套工具链,容易自行建立嵌入式系统的开发环境和交叉运行环立嵌入式系统的开发环境和交叉运行环境,并且可以跨越嵌入式系统开发中仿境,并且可以跨越嵌入式系统开发中仿真工具的障碍真工具的障碍lLinuxLinux具有广泛的硬件支持特性具有广泛的硬件支持特性现在学习的是第3页,共62页嵌入式嵌入式LinuxLinux面临的挑战面临的挑战l1 1、扩充、扩充LinuxLinux的实时系统的实时系统l2 2、改变、改变LinuxLinux内核的体系结构内核的体系

3、结构l3、完善、完善Linux的集成开发环境的集成开发环境现在学习的是第4页,共62页1 1、扩充、扩充LinuxLinux的实时系统的实时系统l内核不支持事件优先级和抢占实时特内核不支持事件优先级和抢占实时特性性l对对LinuxLinux实时性的扩展可以从两方面进实时性的扩展可以从两方面进行行:向外扩展(让实时系统支持的范围更广,支持的设备更多)向上扩展(扩充Linux内核,从功能上扩充Linux的实时处理和控制系统)现在学习的是第5页,共62页lRT-LinuxRT-Linux的做法的做法Linux本身的任务以及Linux内核本身作为一个优先级最低的任务实时任务作为优先级最高的任务实时任务

4、以Linux的内核模块(Loadable Kernel Module,LKM)的形式存在现在学习的是第6页,共62页2、改变、改变Linux内核的体系结构内核的体系结构lMonolithic内核体系内核体系lMicroKernel体系体系l执行效率执行效率l内核的体积内核的体积l升级、维护和移植升级、维护和移植现在学习的是第7页,共62页微内核技术微内核技术l缺点:操作系统的服务模块在独立的缺点:操作系统的服务模块在独立的地址空间运行,使得进程间通信和上地址空间运行,使得进程间通信和上下文切换的系统开销大大增加,降低下文切换的系统开销大大增加,降低了系统效率。了系统效率。现在学习的是第8页,共

5、62页3、完善、完善Linux的集成开发环境的集成开发环境lLinux在基于图形界面的特定系统定在基于图形界面的特定系统定制平台的研究上,与制平台的研究上,与Windows操作系操作系统相比还存在差距统相比还存在差距现在学习的是第9页,共62页POSIX实时扩展实时扩展lPOSIX(PortableOperatingSystemInterface)是为标准化类)是为标准化类UNIX操作系统所必须具有的特征和接操作系统所必须具有的特征和接口而制定,其思想就是为了增强为类口而制定,其思想就是为了增强为类UNIX操作系统编写的软件的可移植性操作系统编写的软件的可移植性现在学习的是第10页,共62页二

6、、嵌入式二、嵌入式linux开发开发l最小的嵌入式最小的嵌入式Linux系统仅需要三个基本元素:系统仅需要三个基本元素:引导实用程序Linux微内核,由内存管理、进程管理和定时服务构成初始化过程l硬件驱动程序 一个或多个应用进程,以提供所需功能 现在学习的是第11页,共62页面向嵌入式面向嵌入式Linux Linux 系统的系统的图形用户界面图形用户界面lMicroWindows/NanoXMicroWindows/NanoX开放源码无任何硬件加速能力图形引擎中存在许多低效算法代码质量较差lOpenGUIOpenGUI可移植性稍差lQt/EmbeddedQt/Embedded低的程序效率、大的

7、资源消耗lMiniGUIMiniGUI现在学习的是第12页,共62页嵌入式嵌入式Linux开发开发l了解硬件了解硬件l针对所用针对所用CPU的编译器的编译器/汇编器汇编器/连接器连接器,相应的相应的库工具库工具,目标文件分析目标文件分析/管理工具管理工具,符号查看器符号查看器l编程器,下载工具和查错器编程器,下载工具和查错器l安排内存地址安排内存地址l编写启动代码和机器相关代码:硬件初始化,装编写启动代码和机器相关代码:硬件初始化,装载内核及安装根文件系统以及开始内核执行载内核及安装根文件系统以及开始内核执行l驱动程序驱动程序现在学习的是第13页,共62页嵌入式Linux的一般开发步骤:精简内

8、核系统启动驱动程序开发界面开发:将X-Window换成MicroWindows现在学习的是第14页,共62页精简内核精简内核构造内核的常用命令包括:makeconfig、dep、clean、mrproper、zImage、bzImage、modules、modules_install。使用makeconfig去掉多余功能。./Makefile./arch/i386/kernel/Makefile现在学习的是第15页,共62页系统启动l系统启动的相关文件如下:系统启动的相关文件如下:./arch/$ARCH/boot/bootsect.s./arch/$ARCH/boot/setup.s./in

9、it/main.cbootsect.S及及setup.S现在学习的是第16页,共62页驱动程序驱动程序在Linux系统里,设备驱动程序提供一组入口点,它们由一个结构在设备驱动程序初始化的时候向系统进行登记,以便系统在适当的时候调用。Linux系统里,通过调用register_chrdev向系统注册字符型设备驱动程序。现在学习的是第17页,共62页添加驱动程序1.直接修改系统核心的源代码,把设备驱动程序加进核心里2.把设备驱动程序作为可加载的模块,由系统管理员动态地加载它,使之成为核心的一部分。现在学习的是第18页,共62页驱动程序模块Linux中,模块可以用C语言编写,用gcc编译成目标文件(

10、不进行链接,作为*.o文件存在)。为此需要在gcc命令行里加上-c的参数。在成功地向系统注册了设备驱动程序后(调用register_chrdev),就可以用mknod命令来把设备映射为一个特别文件。其它程序需要使用这个设备的时候,对此特别文件进行操作。现在学习的是第19页,共62页三、三、linux启动流程启动流程l1加电或复位加电或复位l2BIOS的启动的启动l3BootLoaderl4操作系统初始化操作系统初始化现在学习的是第20页,共62页1加电或复位加电或复位l冷启动过程开始,中央处理器进入复位冷启动过程开始,中央处理器进入复位状态,将内存中的所有数据清零,对内状态,将内存中的所有数据

11、清零,对内存进行校验,如果没错,存进行校验,如果没错,CS寄存器将置寄存器将置入入FFFF,IP寄存器置入寄存器置入0000,这个,这个CS:IP组合指向的是组合指向的是BIOS的入口。系统就是这的入口。系统就是这样进入样进入BIOS启动过程的。启动过程的。现在学习的是第21页,共62页2BIOS启动启动l上电自检上电自检POST(PowerOnSelfTest)l对系统内的硬件设备进行监测和连接对系统内的硬件设备进行监测和连接l最后,最后,BIOS将从软盘或硬盘上读入将从软盘或硬盘上读入BootLoader.如果从硬盘启动,如果从硬盘启动,BIOS将读入该盘的零柱面零磁道将读入该盘的零柱面零

12、磁道1扇扇区(区(MBR),这个扇区上就放着这个扇区上就放着BootLoader.现在学习的是第22页,共62页2BIOS启动启动l除了启动程序,除了启动程序,BIOS还提供了一组中断以还提供了一组中断以便于对硬件设备的访问。我们知道,当键便于对硬件设备的访问。我们知道,当键盘上的某一键被按下,盘上的某一键被按下,CPU就会产生一个就会产生一个中断并把这个键的信息读入。中断并把这个键的信息读入。l在操作系统没有被装入以前(在操作系统没有被装入以前(Bootsect.S还没有被读入),中断的响应程序由还没有被读入),中断的响应程序由BIOS提供。提供。现在学习的是第23页,共62页3BootLo

13、aderlBootLoader是一段汇编代码,存放是一段汇编代码,存放在在MBR中,它的主要作用就是将系统中,它的主要作用就是将系统启动代码读入内存。启动代码读入内存。现在学习的是第24页,共62页3BootLoaderl因为在启动过程中,因为在启动过程中,BIOS会把会把BootLoader读入内存,并把控制权交给它。读入内存,并把控制权交给它。MBR(硬盘启动)内的代码就是(硬盘启动)内的代码就是BootLoader或者它的一部分,为了或者它的一部分,为了说明说明Bootloader的实现,先解释磁盘的实现,先解释磁盘结构。结构。现在学习的是第25页,共62页3BootLoaderl一个硬

14、盘在一个硬盘在DOS文件系统下可被分为四个基本分区,可以文件系统下可被分为四个基本分区,可以把一个基本分区定义为一个扩展分区,然后再把这个基本把一个基本分区定义为一个扩展分区,然后再把这个基本分区分为一个或多个逻辑分区。分区分为一个或多个逻辑分区。l整个硬盘的分区表存放在硬盘的第一个扇区(整个硬盘的分区表存放在硬盘的第一个扇区(MBR),),每个扩展分区也对应一个分区表,它存放在该扩展分区对应的每个扩展分区也对应一个分区表,它存放在该扩展分区对应的第一个扇区里。第一个扇区里。l除主引导扇区外,每个基本分区和扩展分区也有自己的引除主引导扇区外,每个基本分区和扩展分区也有自己的引导扇区,结构与导扇

15、区,结构与MBR相同,但逻辑分区的引导扇区不能用相同,但逻辑分区的引导扇区不能用于启动。于启动。现在学习的是第26页,共62页3BootLoaderl如果是硬盘启动,如果是硬盘启动,BootLoader将查将查找主分区表中标记为活动分区的表项,找主分区表中标记为活动分区的表项,把该表项对应的分区的引导扇区读入,把该表项对应的分区的引导扇区读入,然后将控制权交给该扇区内的引导程然后将控制权交给该扇区内的引导程序。序。现在学习的是第27页,共62页3BootLoaderl如果计算机上装有不只一个操作系统,如果计算机上装有不只一个操作系统,仅仅仅仅MS-DOS的的BootLoader无法完无法完成这

16、种工作,需要一个可以多重起动成这种工作,需要一个可以多重起动的工具,下面介绍的工具,下面介绍Linux下最常用的下最常用的LILO.现在学习的是第28页,共62页3BootLoaderlLILO实际上是一个在实际上是一个在Linux环境下编写的环境下编写的BootLoader程序,程序,主要功能是引导主要功能是引导Linux操作系统的启动。操作系统的启动。lLILO的功能实际上是有几个程序共同实现的,它们是:的功能实际上是有几个程序共同实现的,它们是:(1)MapInstaller这是这是LILO用于管理启动文件的程序。它将用于管理启动文件的程序。它将bootloader写入引导分区,创建纪录

17、文件以映射内核的启写入引导分区,创建纪录文件以映射内核的启动。动。(2)Thebootloader它负责把它负责把Linux内核或其他操作系统内核或其他操作系统的引导分区读入内存。还提供命令行接口,让用户选择从的引导分区读入内存。还提供命令行接口,让用户选择从哪个操作系统启动和加入启动参数。哪个操作系统启动和加入启动参数。(3)其他文件:主要包括用于存放)其他文件:主要包括用于存放MapInstaller记录的记录的map文件和存放文件和存放LILO配置信息的配置文件。配置信息的配置文件。现在学习的是第29页,共62页4进入操作系统进入操作系统lBootLoader做了这么多工作,一言做了这么

18、多工作,一言以蔽之,只是把操作系统的代码调入以蔽之,只是把操作系统的代码调入内存,所以当它执行完后,自然该把内存,所以当它执行完后,自然该把控制权交给操作系统,由操作系统的控制权交给操作系统,由操作系统的启动程序来完成剩下的工作。启动程序来完成剩下的工作。现在学习的是第30页,共62页4进入操作系统进入操作系统l把控制权交给把控制权交给Setup.S这段程序这段程序l进入保护模式,同时把控制权交给进入保护模式,同时把控制权交给Head.SlHead.S调用调用/init/main.C中的中的start_kernel函数函数,启动程序从启动程序从start_kernel()函数继续执行函数继续执

19、行现在学习的是第31页,共62页4进入操作系统进入操作系统(1)Setup.Sl首先,首先,Setup.S对已经调入内存的操作系统代码进行检查,对已经调入内存的操作系统代码进行检查,如果没错,它会通过如果没错,它会通过BIOS中断获取内存容量,硬盘等信中断获取内存容量,硬盘等信息(实模式)息(实模式)l准备让准备让CPU进入保护模式进入保护模式a.先屏蔽中断信号先屏蔽中断信号b.调用指令调用指令lidt和和lgdtc.对对8259中断控制器进行编程中断控制器进行编程d.协处理器重新定位协处理器重新定位完成这几件事后,完成这几件事后,Setup.S设置保护模式的标志,重取设置保护模式的标志,重取

20、指令,再用一条跳转指令指令,再用一条跳转指令jmpi0 x100000,KERNEL_CS。进入保护模式下的启动阶段,。进入保护模式下的启动阶段,控制权交给控制权交给Head.S.现在学习的是第32页,共62页4进入操作系统进入操作系统(2)Head.Sl也要先做屏蔽中断一类的工作也要先做屏蔽中断一类的工作l然后对中断向量表做一定的处理然后对中断向量表做一定的处理lBootLoader读入内存的启动参数和命令行参数,读入内存的启动参数和命令行参数,Head.S把它们保存在把它们保存在empty_zero_page页中页中l检查检查CPU类型类型l对协处理器进行检查对协处理器进行检查l页初始化页

21、初始化,调用调用setup_paging这个子函数这个子函数l因为已进入保护模式,段机制的多任务属性体现因为已进入保护模式,段机制的多任务属性体现现在学习的是第33页,共62页4进入操作系统进入操作系统(3)main.c中的初始化中的初始化lHead.S调用调用/init/main.c中的中的start_kernel函数,把控制权交给它,函数,把控制权交给它,这个函数是整个操作系统初始化的最这个函数是整个操作系统初始化的最重要的函数,一旦它执行完,整个操重要的函数,一旦它执行完,整个操作系统的初始化也就完成了。作系统的初始化也就完成了。现在学习的是第34页,共62页4进入操作系统进入操作系统(

22、3)main.c中的初始化中的初始化l计算机在执行计算机在执行start_kernel前以进入前以进入了保护模式,使处理器完全进入了全了保护模式,使处理器完全进入了全面执行操作系统代码的状态。面执行操作系统代码的状态。l但直到目前为止,这都是针对处理器但直到目前为止,这都是针对处理器的。而一旦的。而一旦start_kernel开始执行,开始执行,Linux内核就一步步展现。内核就一步步展现。lStart_kernel执行后,就可以以一个执行后,就可以以一个用户的身份登陆和使用用户的身份登陆和使用Linux了了现在学习的是第35页,共62页4进入操作系统进入操作系统(3)main.c中的初始化中

23、的初始化l较为重要的函数如下较为重要的函数如下lSetup_arch()最基本硬件的初始化最基本硬件的初始化lPaging_init()线性地址空间映射线性地址空间映射lTrap_init()中断向量表初始化中断向量表初始化lInt_IRQ与中断有关的初始化与中断有关的初始化lSched_init()进程调度初始化进程调度初始化lConsole_init()对中断的初始化对中断的初始化现在学习的是第36页,共62页4进入操作系统进入操作系统(3)main.c中的初始化中的初始化l对文件系统的初始化对文件系统的初始化lInode_init()i节点管理机制初始化节点管理机制初始化lName_ca

24、che_init()目录缓存机制初目录缓存机制初始化始化lBuffer_init()块缓存机制初始化块缓存机制初始化现在学习的是第37页,共62页4进入操作系统进入操作系统(3)main.c中的初始化中的初始化l启动到了目前这种状态,只剩下运行启动到了目前这种状态,只剩下运行/etc下的启动配置文件。下的启动配置文件。l这时初始化程序并没有完成操作系统这时初始化程序并没有完成操作系统各个部分的初始化,更关键的文件系各个部分的初始化,更关键的文件系统的安装还没有涉及,这是在统的安装还没有涉及,这是在init进程进程建立后完成的。就是建立后完成的。就是start_kernel()最最后部分内容。后

25、部分内容。现在学习的是第38页,共62页4进入操作系统进入操作系统(4)建立)建立init进程进程lLinux要建立的第一个进程是要建立的第一个进程是init进程进程l启动所需的启动所需的Shell脚本文件脚本文件a.Linux系统启动所必须的系统启动所必须的b.用户登陆后自己设定的用户登陆后自己设定的系统启动所必须的脚本存放在系统默认系统启动所必须的脚本存放在系统默认的配置文件目录的配置文件目录/etc下。首先调用的下。首先调用的是是/etc/inittab.现在学习的是第39页,共62页四、四、Linux系统移植的两系统移植的两大部分大部分l内核部分和系统部分内核部分和系统部分l(1)内核

26、部分初始化和控制所有硬件设内核部分初始化和控制所有硬件设备(严格说不是所有,而是绝大部分)备(严格说不是所有,而是绝大部分),为内存管理、进程管理、设备读写,为内存管理、进程管理、设备读写等工作做好一切准备。等工作做好一切准备。l(2)系统部分加载必需的设备,配置各系统部分加载必需的设备,配置各种环境以便用户可以使用整个系统。种环境以便用户可以使用整个系统。现在学习的是第40页,共62页(1)内核移植内核移植lLinux内核可以视为由五个功能部分内核可以视为由五个功能部分组成:进程管理(包括调度和通信)、组成:进程管理(包括调度和通信)、内存管理、设备管理、虚拟文件系统、内存管理、设备管理、虚

27、拟文件系统、网络网络l需要改动的就是进程管理、内存管理需要改动的就是进程管理、内存管理和设备管理中被独立出来的那部分即和设备管理中被独立出来的那部分即硬件相关部分的代码硬件相关部分的代码现在学习的是第41页,共62页修改的代码修改的代码l进程管理底层代码进程管理底层代码lBIOS接口代码接口代码l时钟、中断等板上设备支持代码时钟、中断等板上设备支持代码l特殊结构代码:特殊结构代码:SMPl内存管理内存管理现在学习的是第42页,共62页(2)系统移植系统移植l一个最小系统的重建过程一个最小系统的重建过程l类似类似Linux系统应急盘系统应急盘DiskOnChipl包括:包括:init、libc库

28、、驱动模块、必需库、驱动模块、必需的应用程序和系统配置脚本。的应用程序和系统配置脚本。现在学习的是第43页,共62页五、一些五、一些Real-TimeLinux简介简介lNMTRT-LinuxlMontaVistaLinuxlucLinuxlBlueCatLinuxlOpenWRT,DD-WRTlGoogleAndroid现在学习的是第44页,共62页1、NMTRT-LinuxlNMT是新墨西哥科技大学(NewMexicoTechnology)的缩写lReal-timeLinux的鼻祖l硬实时l一个实时内核负责处理硬件消息,接管中断,实时任务可在该内核上直接运行现在学习的是第45页,共62页可

29、载入式核心模组(loadablekernelmodule)。现在学习的是第46页,共62页RTAIlReal-TimeApplicationInterfacelLKMl在在Linux上定义了上定义了一组一组RTHAL(Real-TimeHardwareAbstractionLayer)lRTAI只使用只使用RTHAL和和Linux沟通沟通现在学习的是第47页,共62页LXRTlRTAI无法直接使用无法直接使用Linux的系统调用的系统调用l解决的方法:解决的方法:使用RT-FIFO将一个RTAIreal-timekernelmodule和真正的Linux进程连接在一起l代理:代理:LXRTpr

30、oxy现在学习的是第48页,共62页现在学习的是第49页,共62页2、MontaVistaLinuxlMontaVista软件公司软件公司l全球三大嵌入式全球三大嵌入式Linux操作系统及解决方案供应操作系统及解决方案供应商之一商之一lMontaVistaLinux支持支持6种体系结构的种体系结构的20款处款处理器,理器,x86/IA-32、PowerPC、StrongARM、XScale、ARM、MIPSlMontaVistaLinux包括包括KDevelopIDE、目标配、目标配置工具(置工具(TargetConfigurationTool)、库优化)、库优化工具(工具(LibraryOp

31、timizertool)。另外,它还)。另外,它还提供超过提供超过215个应用软件包。个应用软件包。现在学习的是第50页,共62页l基于基于Linux2.4.X稳定内核,提供支持稳定内核,提供支持x86、MIPS、SH以及以及PowerPC体系结构的实时抢占式内核。体系结构的实时抢占式内核。l跨平台开发,支持跨平台开发,支持14个主机开发环境,包括个主机开发环境,包括RedHat、YellowDogLinux、SuSE、Mandrake、Solaris以及以及VMWareonWindowsNT/2000l该版本提供了该版本提供了215多个主机配套工具和嵌入式目标多个主机配套工具和嵌入式目标平台

32、开发组件软件包,包括平台开发组件软件包,包括thttpd嵌入式服务器和嵌入式服务器和802.11b无线通信标准附加包。无线通信标准附加包。现在学习的是第51页,共62页l扩展了针对嵌入式跨平台开发的各类开扩展了针对嵌入式跨平台开发的各类开放源代码工具的支持,提供了首个基于放源代码工具的支持,提供了首个基于KDevelop的的MontaVista开发环境;开发环境;l支持支持x86和和PowerPC平台的平台的Linux跟踪跟踪工具(包括内核性能和执行分析器);工具(包括内核性能和执行分析器);lext3日志文件系统。日志文件系统。现在学习的是第52页,共62页3、uClinuxl专为无(专为无

33、(MMU)的微控制器打造的嵌入式)的微控制器打造的嵌入式Linux操作系统。操作系统。luClinux已移植支持的微控制器和微处理器已移植支持的微控制器和微处理器摩托罗拉DragonBall(M68EZ328),M68328,M68EN322,ColdFire,QUICC(QuadIntegratedCommunicationsController)MotorolaMC68328:DragonBall集成微处理器ARM7TDMIMC68EN302AxisETRAXInteli960PRISMAAtari68kETRAX现在学习的是第53页,共62页特点特点lUClinux的内核要比原的内核要比

34、原Linux内核小的多内核小的多l1.内存管理内存管理不能使用处理器的虚拟内存管理技术分页管理对于内存的访问是直接的,所有程序中访问的地址都是实际的物理地址。对内存空间没有保护,各个进程实际上共享一个运行空间。一个进程在执行前,系统必须为进程分配足够的连续地址空间,然后全部载入主存储器的连续空间中。现在学习的是第54页,共62页l2.uCLinux两种可选的的内核加载方式两种可选的的内核加载方式Flash运行方式:把内核的可执行映像文件烧到flash上,系统启动时从flash的某个地址开始逐句执行。内核加载方式:把内核的压缩文件存放在flash上,系统启动时读取压缩文件在内存里解压,然后开始执

35、行,运行速度更快现在学习的是第55页,共62页l3.uCLinux的的romfs文件文件系统文件文件系统内核支持romfs文件系统比支持ext2文件系统需要更少的代码超级块(superblock)需要更少的存储空间。l4.uCLinux的应用程序库的应用程序库uClibc对libc做了精简静态链接现在学习的是第56页,共62页uClinux的主要特色的主要特色l通用的通用的LinuxAPIuCkernel512KBuCkernel+工具工具900KB完整的完整的TCP/IP协议堆栈协议堆栈支持大量其它的网络协议支持大量其它的网络协议支持各种文件系统,包括支持各种文件系统,包括NFS、ext2、

36、ROMfs、JFFS、MS-DOS以及以及FAT16/32现在学习的是第57页,共62页4、BlueCatLinuxlLynuxWorks公司公司l2.4Linux内核内核l多种处理器多种处理器现在学习的是第58页,共62页LynuxWorksBlueCat4.0的特性的特性l为内核调试提供的独特的为内核调试提供的独特的gdb扩展功能扩展功能广受欢迎的开发环境和用户界面广受欢迎的开发环境和用户界面在追踪、调试内核以及应用程序函数的时候,可以使在追踪、调试内核以及应用程序函数的时候,可以使用简单明了的图形化界面用简单明了的图形化界面能够快速对内核的功能,大小等进行配置能够快速对内核的功能,大小等

37、进行配置使用开放构架的电源管理和优化方案使用开放构架的电源管理和优化方案加载和使用已经经过测试的应用组件更加方便加载和使用已经经过测试的应用组件更加方便BlueCatLinux4.0DevelopersBundle商业许可证商业许可证SpyKer系统跟踪工具系统跟踪工具VisualLynuxIDE或者或者CodeWarriorIDEEdition现在学习的是第59页,共62页l具有硬实时特性的具有硬实时特性的Linux产品产品BlueCatRT(RealTime)lLynuxWorks公司是目前唯一一个能公司是目前唯一一个能够提供同时满足开放标准嵌入式和实够提供同时满足开放标准嵌入式和实时需求的嵌入式操作系统解决方案的时需求的嵌入式操作系统解决方案的企业。企业。lLynuxWorks提供的开发工具包括:提供的开发工具包括:编译器,调试器,内核跟踪工具以及编译器,调试器,内核跟踪工具以及分析器和集成开发环境等等。分析器和集成开发环境等等。现在学习的是第60页,共62页5、OpenWRT,DD-WRTl第三方路由器操作系统第三方路由器操作系统LinkSYS路由器操作系统采用了嵌入式Linux,不得不公开源码出现了各种各样的第三方嵌入式Linux,包括OpenWRT,DD-WRT现在学习的是第61页,共62页27.09.2022感感谢谢大大家家观观看看现在学习的是第62页,共62页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com