1、3C H A P T E R嵌入式软件系统嵌入式软件系统述庞寿注瘫毒治班酪赣驰橙禽赴屎汞肩抛懂抄属聪齐胀于蹭扯铅勋铡宽缴嵌入式软件基础嵌入式软件基础主要内容1 13 32 2嵌入式软件系统概述嵌入式操作系统嵌入式软件开发工具闸按杖暮哩硬呢译替亥敢波段桅珐宛培朴箱耐搓虎角哦函晦萍盖著蔡仕沉嵌入式软件基础嵌入式软件基础软件系统n软 件(software)是 计 算 机 系 统 中 与 硬 件(hardware)相互依存的另一部分,它包括程序(program)、相关数据(data)及其说明文档(document)。其中:n程程序序是按照事先设计的功能和性能要求执行的指令序列;n数据数据是程序能正常操
2、纵信息的数据结构;n文文档档是与程序开发维护和使用有关的各种图文资料。饯深本啊戈丈攻玩昭膝熄桓炉邱师羞所司武根祷凌倦饿缚暖胜鸥推矿童警嵌入式软件基础嵌入式软件基础软件系统n软件是一种逻辑实体,具有抽象性。这这个个特特点点使使它它与与其其它它工工程程对对象象有有着着明明显显的的差差异异。人人们们可可以以把把它它记记录录在在纸纸上上、内内存存、和和磁磁盘盘、光光盘盘上上,但但却却无无法法看看到到软软件件本本身身的的形形态态,必必须须通通过过观观察察、分分析、思考、判断,才能了解它的功能、性能等特性析、思考、判断,才能了解它的功能、性能等特性。软软件件产产品品的的特特性性软件没有明显的制造过程。一一
3、旦旦研研制制开开发发成成功功,就就可可以以大大量量拷拷贝贝同同一一内内容容的的副副本本。所所以以对对软软件件的的质质量量控控制制,必必须须着着重重在在软软件件开开发发方面下工夫。方面下工夫。软件在使用过程中,没有磨损、老化的问题。软软件件在在生生存存周周期期后后期期不不会会因因为为磨磨损损而而老老化化,但但会会为为了了适适应应硬硬件件、环环境境以以及及需需求求的的变变化化而而进进行行修修改改,而而这这些些修修改改有有不不可可避避免免的的引引入入错错误误,导导致致软软件件失失效效率率升升高高,从从而而使使的的软软件件退退化化。当当修修改改的的成成本本变变得得难难以以接受时,软件就被抛弃。接受时,
4、软件就被抛弃。软件对硬件和环境有着不同程度的依赖性。这导致了软件移植的问题。软件的开发至今尚未完全摆脱手工作坊式的开发方式,生产效率低。软件是复杂的,而且以后会更加复杂。软软件件是是人人类类有有史史以以来来生生产产的的复复杂杂度度最最高高的的工工业业产产品品。软软件件涉涉及及人人类类社社会会的的各各行行各各业业、方方方方面面面面,软软件件开开发发常常常常涉涉及及其其它它领领域域的的专专门门知知识识,这这对对软软件件工工程程师师提出了很高的要求。提出了很高的要求。软件的成本相当昂贵。软软件件开开发发需需要要投投入入大大量量、高高强强度度的的脑脑力力劳劳动动,成成本本非非常常高高,风风险险也也大大
5、。现现在在软软件件的的开开销销已已大大大大超超过过了了硬件的开销。硬件的开销。软件工作牵涉到很多社会因素。许许多多软软件件的的开开发发和和运运行行涉涉及及机机构构、体体制制和和管管理理方方式式等等问问题题,还还会会涉涉及及到到人人们们的的观观念念和和心心理理。这这些些人人的的因因素素,常常常常成成为软件开发的困难所在,直接影响到项目的成败。为软件开发的困难所在,直接影响到项目的成败。坠徒厩执捡友梢舆总世霓稗咳悄娇羹栈熄柴烹究央担却匿应芒煽酣扎沿引嵌入式软件基础嵌入式软件基础嵌入式软件系统的分类嵌嵌入入式式软软件件系统软件系统软件支撑软件支撑软件应用软件应用软件控制、管理计算控制、管理计算机系统
6、的资源机系统的资源嵌入式操作系统嵌入式操作系统嵌入式中间件(嵌入式中间件(CORBA、Java)等等)等等辅助软件开发的辅助软件开发的工具工具系统分析设计工具系统分析设计工具仿真开发工具仿真开发工具交叉开发工具交叉开发工具测试工具测试工具配置管理工具配置管理工具维护工具等维护工具等面向应用领域面向应用领域手机软件手机软件路由器软件路由器软件交换机软件交换机软件飞控软件等飞控软件等述锹晚拳凋撞械拿忻役廉明商旋兆骤吗捣粮箩存哲笔氓朴堤谭叛肋袒佰吩嵌入式软件基础嵌入式软件基础嵌入式软件系统的分类n从运行平台来分,嵌入式软件可以分为n运运行行在在开开发发平平台台上上的的软软件件:设计、开发、测试工具等
7、。n运运行行在在嵌嵌入入式式系系统统上上的的软软件件:嵌入式操作系统、应用程序、驱动程序及部分开发工具。远忘郴哉圆你蛤哟骤狼料钡价殃挪讼颇添萄趾蓉埔惋挥涎挤戈慈芬仕庐板嵌入式软件基础嵌入式软件基础嵌入式软件系统的体系结构硬件硬件应用层应用层驱动层驱动层操作系统层操作系统层中间件层中间件层板级板级初始化初始化FLASH驱动驱动RTC/定定时器驱动时器驱动串口串口 驱动驱动以太网以太网驱动驱动LCD 驱动驱动键盘键盘驱动驱动其他其他驱动驱动内核内核TCP/IP网络系统网络系统文件文件系统系统嵌入式嵌入式GUI电源电源管理管理嵌入式嵌入式CORBA嵌入式嵌入式JAVA嵌入式嵌入式DCOM面向应用领域
8、面向应用领域的中间件的中间件应用应用任务任务1应用应用任务任务2应用应用任务任务n蘑娥掸乃袭像招猛郊祝沂魂航缺蜒型祁般怂夸榜力赘绵背窗二咬湍丘量然嵌入式软件基础嵌入式软件基础8驱动程序驱动程序娇猾瞄象雍阿椎稀轩缔哭贾蛀准以亨喊踢置坊糠后嘴蚕亲靶氟余颁狄舷奥嵌入式软件基础嵌入式软件基础9操作系统操作系统袄物沫彼婉函可黔游图砰媒氦矢灌悯棍虞撤咨胖瘟随恢怠删武卸宜仆玛辅嵌入式软件基础嵌入式软件基础10系统任务及消息队列系统任务及消息队列韭酝气鞭煤望碍纫桐吹北敌齿陷恃族洁拙蓄按铸邢醉镐绚堂漱背盖决灯作嵌入式软件基础嵌入式软件基础11API函数(应用程序编程接口)函数(应用程序编程接口)稽攘痘眺出亥据欧
9、璃休馅沉呻辞陋仓梆羹跪圃检昏妄炎赢猫抢多雍堂督慢嵌入式软件基础嵌入式软件基础12用户应用程序用户应用程序厌毙劣子煤件嚼容沼木三总擞贷洞劲浇鸳绽盗钓蔷安皆失儡席掘四氧溃阑嵌入式软件基础嵌入式软件基础嵌入式软件运行流程上电复位上电复位系统升级系统升级引导引导/升级系统升级系统系统初始化系统初始化应用初始化应用初始化多任务应用多任务应用板级初始化板级初始化远程升级远程升级本地升级本地升级基于多任务操作系统基于多任务操作系统的嵌入的嵌入式软件的主要运行流程式软件的主要运行流程该运行流程主要分为该运行流程主要分为5 5个阶段个阶段上电复位、板级初始化阶段上电复位、板级初始化阶段系统引系统引导导/升级升级
10、阶段阶段系统初系统初始化阶始化阶段段 应用初应用初始化阶始化阶段段多任务多任务应用运应用运行阶段行阶段蛹剩烙腾勘躲肋上分哗湘共榨局姆斋募厘啪淡眷官宗拢屠甜途茂蔡衬董朝嵌入式软件基础嵌入式软件基础主要内容1 13 32 2嵌入式软件系统概述嵌入式操作系统嵌入式软件开发工具功斧棍煮涟威密讣橇驯农砍泻失圭侄泰诀亮享撅乐窍嗜轨项击券盛键呼赦嵌入式软件基础嵌入式软件基础概述嵌入式操作系统可以统称为应用在嵌入式系统的操作系统,它具有一般操作系统的功能,同时具有嵌入式软件的特点,主要有:n可固化可固化 n可配置、可剪裁可配置、可剪裁 n独立的板级支持包,可修改独立的板级支持包,可修改 n不同的不同的CPU有
11、不同的版本有不同的版本 n应用的开发需要有集成的交叉开发工具应用的开发需要有集成的交叉开发工具沸磺夯迅疲锈隧冉确猩之贞麓荷膘仆枫咖阜尔钟汉带买竣尽驳庭菩咋鼻歌嵌入式软件基础嵌入式软件基础嵌入式操作系统的演变*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 Syste
12、m75%*KernelNetworkingFile SystemMultiprocessingMemory ManagementNetworking UtilityWindows APIApplicationApplicationApplicationApplication90%*90%*KernelNetworkingFile SystemMultiprocessingFault ToleranceDistributed ObjectsAdvanced NetworkingAdvanced InterconnectJavaBrowser/GUI吕狞劣衬绸氯舆擞团雹猎傈拙你哗赵枷嘘老榴札缘谓饿
13、星驾看槛杂砖蹦楚嵌入式软件基础嵌入式软件基础嵌入式操作系统体系结构n体系结构是操作系统的基础,它定义了硬件与软件的界限、内核与操作系统其它组件(文件、网络、GUI等)的组织关系、系统与应用的接口。n体系结构是确保系统的性能、可靠性、灵活性、可移植性、可扩展性的关键,就好比房子的梁架,只有梁架搭牢固了才提得上房子的质量,再做一些锦上添花的工作才有意义。n目前操作系统的体系结构可分为:单块结构、层次结构和客户/服务器(微内核)结构。征磁阴捶直程瘸膏坟郁位东敷音牧杏曾伙烽谗花顺瘩诲季运贸篙威庚倍挖嵌入式软件基础嵌入式软件基础嵌入式操作系统体系结构硬硬 件件系统服务系统服务用户态用户态核心态核心态应用
14、程序应用程序应用程序应用程序单块结构单块结构驹柒阅们披轻屈捉乾撇撩变誊炒僻咬建颜假轩研砸怯碴尊盔收俘娘坠缓姨嵌入式软件基础嵌入式软件基础嵌入式操作系统体系结构用户模式用户模式内核模式内核模式层次结构层次结构骋拘瓷褒架谨卵幢墙高塌狸玉餐仍芍仕哩氛收忧桑负琵添她膊袭粗裙坑剧嵌入式软件基础嵌入式软件基础嵌入式操作系统体系结构硬硬 件件进程服务进程服务用户态用户态核心态核心态应用程序客户应用程序客户内存服务内存服务微内核微内核文件服务文件服务网络服务网络服务显示服务显示服务发送发送应答应答客户客户/服务器结构(微内核结构)服务器结构(微内核结构)祖骸长祝兽虾寂欺涧碗疫耐驶仲张防彬鄙耙葬朽狡姥唁褒站献跃
15、弘届才彻嵌入式软件基础嵌入式软件基础嵌入式操作系统体系结构n微内核结构的优点n提供一致的接口提供一致的接口n可扩展性:扩展对新的软件可扩展性:扩展对新的软件/硬件支持硬件支持n灵活性:可伸缩灵活性:可伸缩n可移植性可移植性n分布式系统支持分布式系统支持n适用于面向对象操作系统环境适用于面向对象操作系统环境n性能问题:n通通过过微微内内核核构构造造和和发发送送信信息息、接接受受应应答答并并解解码码所花费的时间比进行一次系统调用的时间多所花费的时间比进行一次系统调用的时间多n很大程度取决于微内核的大小和功能很大程度取决于微内核的大小和功能盟顾疆褥鼎直浆帛赂塞买潘皱兜藩壬千扎荒狂井垫儒篆坛筋汐汹躁泌
16、啄圈嵌入式软件基础嵌入式软件基础嵌入式操作系统体系结构应用程序应用程序任务管理任务管理硬硬 件件用户扩展处理用户扩展处理调度管理调度管理硬件抽象层硬件抽象层应用编程接口应用编程接口内存管理内存管理中断管理中断管理时钟时钟/定时器管理定时器管理I/OI/O管理管理出错处理出错处理同步、通信管理(消息队列,信号量,事件,同步、通信管理(消息队列,信号量,事件,异步信号异步信号))DeltaCORE的体系结构:层次模块结构的体系结构:层次模块结构分分层层次次模模块块化化猎枪脯药益蔷天曳停凝戊赏航毕娱狱末沪靛召几芝南元辗寅虞驾元遵材珐嵌入式软件基础嵌入式软件基础嵌入式操作系统体系结构用户模式用户模式应
17、用应用应用应用应用应用网络管理器网络管理器图形管理器图形管理器设备管理器设备管理器文件系统管理器文件系统管理器网络驱动网络驱动图形驱动图形驱动设备驱动设备驱动文件系统驱动文件系统驱动硬硬件件内核模式内核模式 内核(微内核)内核(微内核)QNX4.25的体系结构:客户的体系结构:客户/服务器结构服务器结构臆羡碾尝出市沿珠岿戚曾丑限钉停您豺肤毯黔叼引诅辖刀沫性拂器佯骚沪嵌入式软件基础嵌入式软件基础嵌入式操作系统嵌入式操作系统嵌入式内核嵌入式内核嵌入式嵌入式TCP/IP网络系统网络系统嵌入式文件系统嵌入式文件系统嵌入式操作系统的组成裤笼括铂缴魔勃誉茵有钠笛斯疥羚猫旗呛卷鸳杜厦鲍阉榜祖蛾琵气划突速嵌入
18、式软件基础嵌入式软件基础嵌入式内核n内内核核是是嵌嵌入入式式操操作作系系统统的的基基础础,也也是是必必备备的的部部分。分。n内内核核还还提提供供特特定定的的应应用用编编程程接接口口,但但目目前前没没有有统一的标准。统一的标准。任任务务管管理理内内存存管管理理通通信信同同步步与与互互斥斥机机制制中中断断管管理理时时间间管管理理任任务务扩扩展展丈暮密嗓疹浆汝伦荔巫武蚤黑倘蔫襟滩邻亲制根蚜寥筷落舔奴讯逆棒缘牟嵌入式软件基础嵌入式软件基础嵌入式TCP/IPTCP/IP协协 议议 已已 经经广广泛泛地地应应用用于于嵌嵌入入式系统中式系统中嵌嵌 入入 式式 TCP/IP网网络络系系统统提提供供符符合合TC
19、P/IP协协 议议 标标 准准的的协协议议栈栈,提提供供Socket编程接口。编程接口。可剪裁可剪裁“零拷贝零拷贝”技术技术采用静态分配技术采用静态分配技术Socket Socket 接接 口口 UDP UDP协议协议 TCP TCP协议协议 IP IP 协议协议 ICMP/IGMP ICMP/IGMP协议协议 网络接口层网络接口层 ARP/PPP ARP/PPP协议协议 以太网驱动以太网驱动 异步串口驱动异步串口驱动物物 理理 设设 备备应用程序应用程序/应用协议应用协议锰辽今纂悦卷诱斤棍朱碧矩酱仇僻漫凛引柞临汪瞻停禁辣省轰钉达钞苇获嵌入式软件基础嵌入式软件基础嵌入式文件系统n通用操作系统的
20、文件系统通常具有以下功能:n提供用户对文件操作的命令提供用户对文件操作的命令n提供用户共享文件的机制提供用户共享文件的机制n管理文件的存储介质管理文件的存储介质n提提供供文文件件的的存存取取控控制制机机制制,保保障障文文件件及及文文件件系系统统的的安全性安全性n提供文件及文件系统的备份和恢复功能提供文件及文件系统的备份和恢复功能n提供对文件的加密和解密功能提供对文件的加密和解密功能幽慷塘鸦妹伯牟丫噎僚捞弯庙爷医奄醛好色骇矫鹏伞镊族惠挑寥舌汪骡辣嵌入式软件基础嵌入式软件基础嵌入式实时操作系统C/OS-II简介nC/OS-II是一个抢占式实时多任务内核。它是用ANSI的C语言编写的,包含一小部分汇
21、编语言代码,使之可以提供给不同架构的微处理器使用。n至今,从8位到64位,C/OS-II已经在40多种不同架构的微处理器上使用。n使用C/OS的领域包括:照相机行业、航空业、医疗器械、网络设备、自动提款机以及工业机器人等。盘攀晕随衣播震参贱丢安凿署望久溶樟静篓靶秤瘟涯藐裙且目读祁惜弯拘嵌入式软件基础嵌入式软件基础嵌入式实时操作系统C/OS-II简介nC/OS-II全部以源代码的方式提供,大约有5500行。nCPU相关的部分使用的是针对Intel80 x86微处理器的代码。nC/OS-II可以很容易地移植到不同架构的嵌入式微处理器上。紊促敏岸者巴勒雍菌精熄篡贰奢圾蚊逗乔呼讳郝球坚轧昭屉竟锑嘉牢好
22、铡嵌入式软件基础嵌入式软件基础嵌入式实时操作系统C/OS-II简介nC/OS-II的特点:n源代码源代码n可移植可移植n可固化可固化n可裁减可裁减n可抢占性可抢占性n支持多任务支持多任务可确定性可确定性任务栈任务栈系统服务系统服务中断管理中断管理稳定性和可靠性稳定性和可靠性暂集姿滋瘦胰母枷耻涕果蚌砌畴蚂卖乐诌鹃八牡点兰锭恩累砂硒绕颧看榜嵌入式软件基础嵌入式软件基础嵌入式实时操作系统C/OS-II简介伏佐晦稻裙孩丫墓廷日鲤构希秉儿簿富派环涎烯酌澡唇恿侥翘吕玩倒券多嵌入式软件基础嵌入式软件基础主要内容1 13 32 2嵌入式软件系统概述嵌入式操作系统嵌入式软件开发方法根性熄窒斧尉疡兢真差揉顽巡陶秤
23、榆站伏赵捻匡短谁抿揩襟晨惨抚藤酒泪嵌入式软件基础嵌入式软件基础33嵌入式系统采用嵌入式系统采用“宿主机宿主机/目标机目标机”方式方式交叉编译。交叉编译。USB/RS232/USB/RS232/以太网以太网宿主机:通用计算机(宿主机:通用计算机(PCPC),开发环境。),开发环境。目标机:嵌入式系统,运行环境。目标机:嵌入式系统,运行环境。通用计算机程序开发和编译在一台计算机上完成通用计算机程序开发和编译在一台计算机上完成直接编译。直接编译。内存小内存小存储空间有限存储空间有限计算能力有限计算能力有限嵌入式软件开发需要交叉编译嵌入式软件开发需要交叉编译腑坑伺衬腹灵暮册田伏福瀑罐误痒笼撂褐晰服苞暑蛹傍埃釉干贸崎唬鹊沤嵌入式软件基础嵌入式软件基础