07-12-27_嵌入式编程_陶凯.ppt
《07-12-27_嵌入式编程_陶凯.ppt》由会员分享,可在线阅读,更多相关《07-12-27_嵌入式编程_陶凯.ppt(22页珍藏版)》请在沃文网上搜索。
1、Embedded Software Embedded Software Embedded Software Embedded Software ProgrammingProgrammingProgrammingProgramming陶陶陶陶 凯凯凯凯DirectoryDirectoryDirectoryDirectory Embedded SW Programming Priority InversionWhat is embedded system?Embedded Processor 1What is embedded system?What is embedded system?What
2、 is embedded system?What is embedded system?嵌入式系统一般指有计算机功能但又不称之为嵌入式系统一般指有计算机功能但又不称之为计算机的设备或器材。它是以应用为中心,软计算机的设备或器材。它是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计成本、体积、功耗等综合性严格要求的专用计算机系统。简单地说,嵌入式系统集系统的应算机系统。简单地说,嵌入式系统集系统的应用软件与硬件于一体,具有软件代码小、高度用软件与硬件于一体,具有软件代码小、高度自动化、响应速度快等特点,特
3、别适合于要求自动化、响应速度快等特点,特别适合于要求实时和多任务的体系。实时和多任务的体系。2嵌入式系统主要由嵌入式处理器、相关支撑硬嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,件、嵌入式操作系统及应用软件系统等组成,它是可独立工作的它是可独立工作的“器件器件”。嵌入式系统几乎包括了生活中的所有电器设嵌入式系统几乎包括了生活中的所有电器设备,如掌上电脑、移动计算设备、电视机顶备,如掌上电脑、移动计算设备、电视机顶盒、手机、数字电视、汽车控制系统、微波盒、手机、数字电视、汽车控制系统、微波炉、数码相机、家庭自动化系统、电梯、安炉、数码相机、家庭自动化系统、电梯
4、、安全系统、自动售货机、蜂窝式电话、工业自全系统、自动售货机、蜂窝式电话、工业自动化仪表与医疗仪器等。动化仪表与医疗仪器等。3WhatWhatWhatWhat is embedded system?is embedded system?is embedded system?is embedded system?WhatWhatWhatWhat is embedded system?is embedded system?is embedded system?is embedded system?4嵌入式系统的硬件部分,包括处理器嵌入式系统的硬件部分,包括处理器/微处理微处理器、存储器及外设器件和
5、器、存储器及外设器件和I/O端口、图形控制端口、图形控制器等。嵌入式系统有别于一般的计算机处理器等。嵌入式系统有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介系统,它不具备像硬盘那样大容量的存储介质,而大多使用质,而大多使用eprom、eeprom或闪存或闪存(flash memory)作为存储介质。软件部分包括操作作为存储介质。软件部分包括操作系统软件系统软件(要求实时和多任务操作要求实时和多任务操作)和应用程序和应用程序编程。应用程序控制着系统的运作和行为;编程。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交而操作系统控制着应用程序编程与硬件的交互作用。
6、互作用。Embedded ProcessorEmbedded ProcessorEmbedded ProcessorEmbedded Processor5特点:特点:(1)对实时和多任务有很强的支持能力,对实时和多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时操作系统的执行时间减而使内部的代码和实时操作系统的执行时间减少到最低限度;少到最低限度;(2)具有功能很强的存储区保护具有功能很强的存储区保护功能,这是由于嵌入式系统的软件结构已模块功能,这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交化
7、,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断;时也有利于软件诊断;(3)可扩展的处理器结构,可扩展的处理器结构,以能迅速地扩展出满足应用的高性能的嵌入式以能迅速地扩展出满足应用的高性能的嵌入式微处理器;微处理器;(4)嵌入式微处理器的功耗必须很低,嵌入式微处理器的功耗必须很低,尤其是用于便携式的无线及移动的计算和通信尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,功设备中靠电池供电的嵌入式系统更是如此,功耗只能为耗只能为mw甚至甚至w级。级。Embedded Process
8、orEmbedded ProcessorEmbedded ProcessorEmbedded Processor6种类:l嵌入式微处理器(microprocessor unit),如arm、Power PCl嵌入式微控制器(microcontroller unit),俗称单片机lDSP处理器(digital signal processor),对系统结构和指令进行了特殊设计,使其适合于实时地进行数字信号处理l片上系统(system on chip)EmbeddedEmbeddedEmbeddedEmbedded SWSWSWSW ProgrammingProgrammingProgrammin
9、gProgramming7背景知识:l必备硬件组件:必备硬件组件:FlashFlash和和RAMRAM,前者用于存储程序,后者则,前者用于存储程序,后者则是程序运行时指令及数据的存放位置。是程序运行时指令及数据的存放位置。l开发环境:嵌入式系统需要良好的软件开发环境的支持,开发环境:嵌入式系统需要良好的软件开发环境的支持,由于嵌入式系统的目标机资源受限,不可能在其上建立庞由于嵌入式系统的目标机资源受限,不可能在其上建立庞大、复杂的开发环境,因而其开发环境和目标运行环境相大、复杂的开发环境,因而其开发环境和目标运行环境相互分离。因此,嵌入式应用软件的开发方式一般是,在宿互分离。因此,嵌入式应用软
10、件的开发方式一般是,在宿主机主机(Host)(Host)上建立开发环境,进行应用程序编码和交叉编上建立开发环境,进行应用程序编码和交叉编译,然后宿主机同目标机译,然后宿主机同目标机(Target)(Target)建立连接,将应用程序建立连接,将应用程序下载到目标机上进行交叉调试,经过调试和优化,最后将下载到目标机上进行交叉调试,经过调试和优化,最后将应用程序固化到目标机中实际运行应用程序固化到目标机中实际运行。l模块划分:模块划分:硬件驱动模块,一种特定硬件对应一个模块。硬件驱动模块,一种特定硬件对应一个模块。软件功能模块,模块划分应满足低耦合、高内聚的要求。软件功能模块,模块划分应满足低耦合
11、、高内聚的要求。l多任务还是单任务:多任务还是单任务:“单任务单任务”是指系统不能支持多任务并发操作,宏观串行是指系统不能支持多任务并发操作,宏观串行地执行一个任务。地执行一个任务。“多任务多任务”地并发执行通常依赖一个多任务地并发执行通常依赖一个多任务OS(Vxworks/ucLinux)OS(Vxworks/ucLinux)。“多任务多任务”OSOS的核心是系统调度器,使用任务控制块的核心是系统调度器,使用任务控制块(TCB)(TCB)来管理任务调度功能。来管理任务调度功能。任务上下文任务上下文(context)(context),就是当一个执行中的任务被停止,就是当一个执行中的任务被停止
12、时,要保存的所有信息时,要保存的所有信息(各个寄存器的内容各个寄存器的内容)。Embedded SW ProgrammingEmbedded SW ProgrammingEmbedded SW ProgrammingEmbedded SW Programming8Embedded SW ProgrammingEmbedded SW ProgrammingEmbedded SW ProgrammingEmbedded SW Programming9单任务程序典型架构:单任务程序典型架构:(1)(1)从从CPUCPU复位时的指定地址开始执行;复位时的指定地址开始执行;(2)(2)跳转至汇编代码跳转
13、至汇编代码startupstartup处执行;处执行;(3)(3)跳转至用户主程序跳转至用户主程序mainmain执行,在执行,在mainmain中完成:中完成:a.a.初始化硬件设备初始化硬件设备 b.b.初始化各种软件模块初始化各种软件模块 c.c.进入无限循环,调用各模块的处理函数进入无限循环,调用各模块的处理函数注意:几个注意:几个“著名著名”的死循环:的死循环:操作系统;操作系统;WIN32WIN32程序;嵌入式系统软件;多线程程程序;嵌入式系统软件;多线程程序的线程处理函数序的线程处理函数10Embedded SW ProgrammingEmbedded SW Programmin
14、gEmbedded SW ProgrammingEmbedded SW Programming中断服务程序要求:中断服务程序要求:(1)不能返回值;不能返回值;(2)不能向不能向ISR传递参数;传递参数;(3)ISR应该尽可能的短小精悍;应该尽可能的短小精悍;(4)printf(char*lpFormatString,)函数会带来重函数会带来重入和性能问题,不能在入和性能问题,不能在ISR中采用。中采用。/*存放中断的队列存放中断的队列*/typedefstructtagIntQueueintintType;/*中断类型中断类型*/structtagIntQueue*next;IntQueue
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 07 12 27 嵌入式 编程 陶凯