嵌入式软件系统课件

上传人:e****s 文档编号:242735685 上传时间:2024-09-02 格式:PPT 页数:61 大小:1.03MB
返回 下载 相关 举报
嵌入式软件系统课件_第1页
第1页 / 共61页
嵌入式软件系统课件_第2页
第2页 / 共61页
嵌入式软件系统课件_第3页
第3页 / 共61页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,内容,一、嵌入式软件的根本特征,二、嵌入式软件结构和组成,三、软件系统的设计方法,四、软件的移植,1,1.1 嵌入式软件开发需要交叉编译,1.2 嵌入式软件不一定需要操作系统,1.3 嵌入式软件都是无限循环,1.4 嵌入式软件都要响应中断,1.5 嵌入式软件的硬件相关性,一、根本特征,2,由于其本身不具备自主开发能力,必须有一套开发工具和环境才能进行开发。,调试需要各种逻辑分析仪、混合信号示波器等。,概念列示,1.1 嵌入式软件开发需要交叉编译,3,嵌入式系统采用“宿主机/目标机方式交叉编译。,USB/RS232/以太网,宿主机:通用计算机PC,开发环境。,目标机:嵌入式系统,运行环境。,通用计算机程序开发和编译在一台计算机上完成,直接编译。,内存小,存储空间有限,计算能力有限,提问:为何嵌入式要用这种方式,4,简单的嵌入式系统上,譬如MCS-51处理器上,可以直接运行裸机程序。,复杂嵌入式系统上,需要嵌入式操作系统来调度资源和控制。,1.2 嵌入式软件不一定需要操作系统,5,嵌入式软件的结构上都是没有出口的,程序不能退出,整个程序的根本结构是无限循环。配合中断构成整体。,列概念,1.3 嵌入式软件都是无限循环,8,main(),Init_HardWare(); /* 硬件初始化 */,/* 超级循环 */,while(1), action1(); /* 常规循环操作 */,action2(); ,9,main(),Init_HardWare(); /* 硬件初始化 */,/* 超级循环 */,for(;) /* 也有人这样写 */, action1(); /* 常规循环操作 */,action2(); ,10,main(),/* 超级循环 */,while(1) action1(); /* 常规循环操作 */,action2(); ,/* 中断1对应的效劳程序 */,_interrupt ISR1() /* 中断效劳工作 */,CPU中断源1,外部事件,执行,ISR1,编译器自动参加现场出入栈代码,1.4,嵌入式软件都要响应中断,11,main(),/* 超级循环 */,while(1) enter_low_power(); /* 进入低功耗状态 */,/* 中断1对应的效劳程序 */,_interrupt ISR1() /* 中断效劳工作 */,/* 中断n对应的效劳程序 */,_interrupt ISRn() /* 中断效劳工作 */,低功耗程序设计,12,1.5 嵌入式软件的硬件相关性,13,驱动程序,14,API函数应用程序编程接口,15,操作系统,16,系统任务及消息队列,17,用户应用程序,18,软件功能必须硬件可实现,更换硬件,BSP必须重编。,19,嵌入式系统的软件结构,二、嵌入式软件结构和组成,20,嵌入式软件组成,初始化引导代码,板级支持包,操作系统,通信协议栈,图形用户界面,应用软件,21,2.1初始化引导代码,嵌入式系统上电复位后第一个执行的代码,执行:,系统自检,进入初始化硬件、软件,引导操作系统,复位向量,80186 : FFFF0H,MCS51 : 0H,ARM : 0H,22,2.2 BSP板级支持包(Board Supporting Package),嵌入式操作系统与用户定制硬件平台之间的接口,有效解决硬件平台的差异性,BSP完成系统硬件的初始化,硬件配置存放器,存储器配置,I/O参数配置等,23,2.3嵌入式操作系统,主要功能嵌入式系统大管家,管理全部软硬件资源,控制程序运行,提供人机界面;,基于操作系统的开发模式,嵌入式操作系统的内核,处理器管理任务、任务之间的通信和同步等,存储器管理,24,完整的嵌入式操作系统,内核,文件系统,人机界面等,25,2.4网络协议栈,协议栈为嵌入式系统产品提供网络功能,嵌入式协议栈的提供方式,独立的第三方协议栈产品,例如: inter niche的嵌入式TCP/IP,嵌入式操作系统的提供商提供协议栈产品,例如:NetBIOS、IPX/SPX,26,27,2.5应用软件,用户自主开发的软件,用于PDA上的记事本、通讯录、计算器等。,用于工业现场的控制软件等。,应用软件的开发基于一系列的低层API,操作系统,网络通信协议栈,图形用户接口,文件系统等,28,2.6 GUI,与用户交互的应用软件,LCD显示、键盘输入、触摸屏输入等,GUI运行在嵌入式操作系统之上,通过GUI的功能调用(API)来实现。,29,Qt/Embedded,30,Microwindows,31,Tiny X Server,32,三、软件系统的设计方法,无,操作系统的嵌入式软件设计,有,操作系统的嵌入式软件设计,33,3.1无操作系统的嵌入式软件设计,前后台系统,中断事件驱动系统,巡回效劳系统,基于定时器的巡回效劳系统,34,3.1.1前后台系统,后台:一个无限循环,巡回地执行多个事件,完成相应的操作。,前台:中断效劳程序,处理异步事件。,35,程序框架-,后台,main(),/* 硬件初始化 */,while(1) /* 后台程序 */,action1();,action2();,action3();,action_1(),/* 执行动作n */, ,action_n(),/* 执行动作n */,36,程序框架-,前台,Isr_1(),/* 中断1的中断效劳程序 */, ,Isr_n(),/* 中断2的中断效劳程序 */,37,main(),c = 3;,a = 6; /* 超级循环 */,while(1) b = a * c;,action(b); ,_interrupt ISR1() /* 中断1对应的效劳程序 */, a = 100;,中断 b = 18,中断 b = 300,38,3.1.2中断事件驱动系统,原理,整个嵌入式系统软件由中断效劳程序构成,主程序完成系统的初始化工作,应用,低功耗系统设计,事件驱动系统,构成,主程序-完成系统的初始化,中断效劳例程-完成事务处理,39,中断驱动系统-主程序,main() /*初始化*/,/* to do: 系统的初始化 */,while(1),其它代码,enter_low_power(); /*进入低功耗状态*/,40,中断驱动系统-中断程序,Isr_n() /* 其中的一个中断效劳程序 */,/* to do: 处理中断事件 */,41,3.1.3巡回效劳系统,应用:嵌入式处理器/控制器的中断源不多,无法将外部事件与中断源完全关联。,main(),/* to do: 系统初始化 */,while(1),action_1();/*巡回检测事件1并处理事件*/,action_2();/*巡回检测事件2并处理事件*/,action_n();/*巡回检测事件n并处理事件*/,42,3.1.4基于定时器的巡回效劳系统,普通巡回效劳系统的缺点,处理器全速运行,开销大-功耗高,构成,主程序,定时器中断效劳程序,43,主程序,main(),/* to do: 系统初始化 */,/* to do: 设置定时器 */,while(1),.其它代码或,enter_low_power();,44,定时器中断效劳例程,Isr_timer() /* 定时器的中断效劳程序 */,action_1(); /*执行事件1的处理*/,action_2(); /*执行事件2的处理*/,action_n(); /*执行事件n的处理*/,45,1、嵌入式操作系统种类,分时系统,实时系统,2、任务调度方式,非抢占式,抢占式,3.2基于嵌入式操作系统的软件设计,46,3.2.1基于分时系统的软件结构,应用:PDA等不需要实时处理的应用,缺点:无法保证事务处理的优先级,47,3.2.2实时嵌入式系统,系统组成,任务,用户任务,系统任务,操作系统的任务调度器,根据任务的优先级进行调度任务的执行,引起任务调度的因素,硬件中断,定时器溢出,任务之间的通信和同步等,其它程序主程序、子程序等,48,49,3.2.3实时系统的调度方法,非抢占式调度,系统总是先运行高优先级的任务,低优先级的任务运行时,,高优先级的任务不能中断低优先级的任务,系统,简单,,操作系统的开销,小,抢占式调度,系统总是运行最高优先级的任务,一旦高优先级的任务就绪,,低优先级的任务被中断,系统,复杂,,操作系统的开销,大,50,四、 软件的移植,移植的必要性,裸机系统的软件移植,操作系统与应用软件整体移植,应用软件的移植,可移植应用软件的设计思路,51,4.1移植的必要性,基于嵌入式处理器的原因,兼容机更新方式-量变,短时间,例如:80x86系列,新的体系结构代替旧的体系结构-质变,长时间,例如:dragon ball:EZ,VZ: 68000体系,,SZ:ARM体系,基于嵌入式操作系统的原因,旧的操作系统淘汰,新的操作系统被开发出来,应用软件运行于不同的嵌入式操作系统平台上,52,4.2裸机系统的软件移植,裸机系统的特点,比较简单,使用汇编语言或C语言开发,不可移植的情况,汇编语言开发,跨平台,模块化差,53,应用软件,输入/输出模块,处理器硬件,应用软件,硬件抽象层,处理器硬件,输入/输出模块,硬件相关,可移植性结构,增加硬件抽象层,54,4.3操作系统之上的移植,系统组成,操作系统,应用软件,移植工作,I/O接口驱动程序的移植,BSP,55,软件结构,56,4.4应用软件的移植,操作系统更换了,但是硬件处理器没有变化主要移植应用软件,硬件平台和操作系统都更换了需移植应用软件和设备驱动程序,57,4.5可移植应用软件的设计原那么,嵌入式系统开发的初期考虑移植问题,设计原那么,层次化,模块化,层次化与模块化的结合,58,4.5.1层次化结构,59,4.5.2模块化结构,60,4.5.3层次化与模块化的结合,61,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


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

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


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