嵌入式软件系统_精品文档.ppt
- 文档编号:2531637
- 上传时间:2022-10-31
- 格式:PPT
- 页数:61
- 大小:819KB
嵌入式软件系统_精品文档.ppt
《嵌入式软件系统_精品文档.ppt》由会员分享,可在线阅读,更多相关《嵌入式软件系统_精品文档.ppt(61页珍藏版)》请在冰豆网上搜索。
内容内容l一、嵌入式软件的基本特征一、嵌入式软件的基本特征l二、嵌入式软件结构和组成二、嵌入式软件结构和组成l三、三、软件系统的设计方法软件系统的设计方法l四、软件的移植四、软件的移植11.11.1嵌入式软件开发需要交叉编译嵌入式软件开发需要交叉编译1.21.2嵌入式软件不一定需要操作系统嵌入式软件不一定需要操作系统1.31.3嵌入式软件都是无限循环嵌入式软件都是无限循环1.41.4嵌入式软件都要响应中断嵌入式软件都要响应中断1.51.5嵌入式软件的硬件相关性嵌入式软件的硬件相关性一、基本特征一、基本特征2由于其本身不具备自主开发能力,必须有一套开由于其本身不具备自主开发能力,必须有一套开发工具和环境才能进行开发。
发工具和环境才能进行开发。
调试需要各种逻辑分析仪、混合信号示波器等。
调试需要各种逻辑分析仪、混合信号示波器等。
概念列示1.1嵌入式软件开发需要交叉编译嵌入式软件开发需要交叉编译3嵌入式系统采用嵌入式系统采用“宿主机宿主机/目标机目标机”方式方式交叉编译。
交叉编译。
USB/RS232/USB/RS232/以太网以太网宿主机:
通用计算机(宿主机:
通用计算机(PCPC),开发环境。
),开发环境。
目标机:
嵌入式系统,运行环境。
目标机:
嵌入式系统,运行环境。
通用计算机程序开发和编译在一台计算机上完成通用计算机程序开发和编译在一台计算机上完成直接编译。
直接编译。
内存小内存小存储空间有限存储空间有限计算能力有限计算能力有限提问:
为何嵌入式要用这种方式4简单的嵌入式系统上,譬如简单的嵌入式系统上,譬如MCS-51MCS-51处理器上,处理器上,可以直接运行裸机程序。
可以直接运行裸机程序。
复杂嵌入式系统上,需要嵌入式操作系统来调复杂嵌入式系统上,需要嵌入式操作系统来调度资源和控制。
度资源和控制。
1.2嵌入式软件不一定需要操作系统嵌入式软件不一定需要操作系统5简单的嵌入式应用简单的嵌入式应用若嵌入式系统的功能需求比较简单,如电动若嵌入式系统的功能需求比较简单,如电动玩具、空调、冰箱等,则嵌入式系统软件只需玩具、空调、冰箱等,则嵌入式系统软件只需完成较简单的功能,就不需要嵌入式操作系统完成较简单的功能,就不需要嵌入式操作系统的支持。
的支持。
如:
基于如:
基于80518051的应用的应用儿童玩具、汽车系统等等儿童玩具、汽车系统等等6复杂的嵌入式应用复杂的嵌入式应用若功能比较复杂,需要网络功能、存储器管理、若功能比较复杂,需要网络功能、存储器管理、进程进程/线程管理等,则通过嵌入式操作系统的帮线程管理等,则通过嵌入式操作系统的帮助,可以加快嵌入式系统软件的开发进度和可靠助,可以加快嵌入式系统软件的开发进度和可靠性。
性。
7嵌入式软件的结构上都是没有出口的,程序不能嵌入式软件的结构上都是没有出口的,程序不能退出,整个程序的基本结构是退出,整个程序的基本结构是无限循环无限循环。
配合中。
配合中断构成整体。
断构成整体。
列概念1.3嵌入式软件都是无限循环嵌入式软件都是无限循环8main()Init_HardWare();/*硬件初始化硬件初始化*/*超超级级循循环环*/while
(1)action1();/*常常规规循循环环操作操作*/action2();9main()Init_HardWare();/*硬件初始化硬件初始化*/*超超级级循循环环*/for(;)/*也有人也有人这样这样写写*/action1();/*常常规规循循环环操作操作*/action2();10main()/*超超级级循循环环*/while
(1)action1();/*常常规规循循环环操作操作*/action2();/*中断中断1对应对应的服的服务务程序程序*/_interruptISR1()/*中断服中断服务务工作工作*/CPUCPU中中断源断源11外部外部事件事件执行执行ISR1编译器自动加入现场出入栈代码编译器自动加入现场出入栈代码1.4嵌入式软件都要响应中断嵌入式软件都要响应中断11main()/*超超级级循循环环*/while
(1)enter_low_power();/*进进入低功耗状入低功耗状态态*/*中断中断1对应对应的服的服务务程序程序*/_interruptISR1()/*中断服中断服务务工作工作*/*中断中断n对应对应的服的服务务程序程序*/_interruptISRn()/*中断服中断服务务工作工作*/低功耗程序设计121.5嵌入式软件的硬件相关性嵌入式软件的硬件相关性13驱动程序驱动程序14API函数(应用程序编程接口)函数(应用程序编程接口)15操作系统操作系统16系统任务及消息队列系统任务及消息队列17用户应用程序用户应用程序18l软件功能必须硬件可实现软件功能必须硬件可实现l更换硬件,更换硬件,BSPBSP必须重编。
必须重编。
19嵌入式系统的软件结构嵌入式系统的软件结构二、嵌入式软件结构和组成二、嵌入式软件结构和组成20嵌入式软件组成嵌入式软件组成l初始化引导代码初始化引导代码l板级支持包板级支持包l操作系统操作系统l通信协议栈通信协议栈l图形用户界面图形用户界面l应用软件应用软件212.12.1初始化引导代码初始化引导代码l嵌入式系统上电复位后第一个执行的代码嵌入式系统上电复位后第一个执行的代码l执行:
执行:
n系统自检系统自检n进入初始化(硬件、软件)进入初始化(硬件、软件)n引导操作系统引导操作系统l复位向量复位向量n80186:
FFFF0H80186:
FFFF0HnMCS51:
0HMCS51:
0HnARM:
0HARM:
0H222.2BSP板级支持包板级支持包(BoardSupportingPackage)l嵌入式操作系统与用户定制硬件平台之间的接口嵌入式操作系统与用户定制硬件平台之间的接口n有效解决硬件平台的差异性有效解决硬件平台的差异性lBSP完成系统硬件的初始化完成系统硬件的初始化n硬件配置寄存器硬件配置寄存器n存储器配置存储器配置nI/O参数配置等参数配置等232.3嵌入式操作系统嵌入式操作系统l主要功能(嵌入式系统大管家)主要功能(嵌入式系统大管家)n管理全部软硬件资源管理全部软硬件资源n控制程序运行控制程序运行n提供人机界面;提供人机界面;l基于操作系统的开发模式基于操作系统的开发模式n嵌入式操作系统的内核嵌入式操作系统的内核处理器管理(任务、任务之间的通信和同步等)处理器管理(任务、任务之间的通信和同步等)存储器管理存储器管理24n完整的嵌入式操作系统完整的嵌入式操作系统内核内核文件系统文件系统人机界面等人机界面等252.4网络协议栈网络协议栈l协议栈为嵌入式系统产品提供网络功能协议栈为嵌入式系统产品提供网络功能l嵌入式协议栈的提供方式嵌入式协议栈的提供方式n独立的第三方协议栈产品独立的第三方协议栈产品例如:
例如:
internicheinterniche的嵌入式的嵌入式TCP/IPTCP/IPn嵌入式操作系统的提供商提供协议栈产品嵌入式操作系统的提供商提供协议栈产品例如:
例如:
NetBIOSNetBIOS、IPX/SPXIPX/SPX26272.5应用软件应用软件l用户自主开发的软件用户自主开发的软件n用于用于PDAPDA上的记事本、通讯录、计算器等。
上的记事本、通讯录、计算器等。
n用于工业现场的控制软件等。
用于工业现场的控制软件等。
l应用软件的开发基于一系列的低层应用软件的开发基于一系列的低层APIAPIn操作系统操作系统n网络通信协议栈网络通信协议栈n图形用户接口图形用户接口n文件系统等文件系统等282.6GUIl与用户交互的应用软件与用户交互的应用软件nLCDLCD显示、键盘输入、触摸屏输入等显示、键盘输入、触摸屏输入等lGUIGUI运行在嵌入式操作系统之上,通过运行在嵌入式操作系统之上,通过GUIGUI的功能的功能调用调用(API)(API)来实现。
来实现。
29Qt/Embedded30Microwindows31TinyXServer32三、软件系统的设计方法三、软件系统的设计方法l无无操作系统的嵌入式软件设计操作系统的嵌入式软件设计l有有操作系统的嵌入式软件设计操作系统的嵌入式软件设计333.1无操作系统的嵌入式软件设计无操作系统的嵌入式软件设计1.前后台系统前后台系统2.中断(事件)驱动系统中断(事件)驱动系统3.巡回服务系统巡回服务系统4.基于定时器的巡回服务系统基于定时器的巡回服务系统343.1.1前后台系统前后台系统后台:
后台:
一个无限循环,巡回一个无限循环,巡回地执行多个事件,完成地执行多个事件,完成相应的操作。
相应的操作。
前台:
前台:
中断服务程序,处理中断服务程序,处理异步事件。
异步事件。
35程序框架程序框架-后台后台main()/*硬件初始化硬件初始化*/while
(1)/*后台程序后台程序*/action1();action2();action3();action_1()/*执行动作执行动作n*/action_n()/*执行动作执行动作n*/36程序框架程序框架-前台前台Isr_1()/*中断中断1的中断服务程序的中断服务程序*/Isr_n()/*中断中断2的中断服务程序的中断服务程序*/37main()c=3;a=6;/*超超级级循循环环*/while
(1)b=a*c;action(b);_interruptISR1()/*中断中断1对应对应的服的服务务程序程序*/a=100;中断中断b=18b=18中断中断b=300b=300383.1.23.1.2中断(事件)驱动系统中断(事件)驱动系统l原理原理n整个嵌入式系统软件由中断服务程序构成整个嵌入式系统软件由中断服务程序构成n主程序完成系统的初始化工作主程序完成系统的初始化工作l应用应用n低功耗系统设计低功耗系统设计n事件驱动系统事件驱动系统l构成构成n主程序主程序-完成系统的初始化完成系统的初始化n中断服务例程中断服务例程-完成事务处理完成事务处理39中断驱动系统中断驱动系统-主程序主程序main()/*main()/*初始化初始化*/*todo:
/*todo:
系统的初始化系统的初始化*/while
(1)while
(1)其它代码其它代码enter_low_powerenter_low_power();/*();/*进入低功耗状态进入低功耗状态*/40中断驱动系统中断驱动系统-中断程序中断程序Isr_nIsr_n()/*()/*其中的一个中断服务程序其中的一个中断服务程序*/*todo:
/*todo:
处理中断事件处理中断事件*/413.1.33.1.3巡回服务系统巡回服务系统l应用:
嵌入式处理器应用:
嵌入式处理器/控制器的中断源不多,无控制器的中断源不多,无法将外部事件与中断源完全关联。
法将外部事件与中断源完全关联。
main()/*todo:
系统初始化系统初始化*/while
(1)action_1();/*巡回检测事件巡回检测事件1并处理事件并处理事件*/action_2();/*巡回检测事件巡回检测事件2并处理事件并处理事件*/action_n();/*巡回检测事件巡回检测事件n并处理事件并处理事件*/423.1.4基于定时器的巡回服务系统基于定时器的巡回服务系统l普通巡回服务系统的缺点普通巡回服务系统的缺点n处理器全速运行,开销大处理器全速运行,开销大-功耗高功耗高l构成构成n主程序主程序n定时器中断服务程序定时器中断服务程序43主程序主程序main()/*todo:
系统初始化系统初始化*/*todo:
设置定时器设置定时器*/while
(1).其它代码或其它代码或enter_low_power();44定时器中断服务例程定时器中断服务例程Isr_timer()/*定时器的中断服务程序定时器的中断服务程序*/action_1();/*执行事件执行事件1的处理的处理*/action_2();/*执行事件执行事件2的处理的处理*/action_n();/*执行事件执行事件n的处理的处理*/4511、嵌入式操作系统种类、嵌入式操作系
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 软件 系统 精品 文档