第三章嵌入式软件系统(一)(2课时)讲义

上传人:今*** 文档编号:107053965 上传时间:2019-10-17 格式:PPT 页数:84 大小:1.24MB
返回 下载 相关 举报
第三章嵌入式软件系统(一)(2课时)讲义_第1页
第1页 / 共84页
第三章嵌入式软件系统(一)(2课时)讲义_第2页
第2页 / 共84页
第三章嵌入式软件系统(一)(2课时)讲义_第3页
第3页 / 共84页
第三章嵌入式软件系统(一)(2课时)讲义_第4页
第4页 / 共84页
第三章嵌入式软件系统(一)(2课时)讲义_第5页
第5页 / 共84页
点击查看更多>>
资源描述

《第三章嵌入式软件系统(一)(2课时)讲义》由会员分享,可在线阅读,更多相关《第三章嵌入式软件系统(一)(2课时)讲义(84页珍藏版)》请在金锄头文库上搜索。

1、单片机与嵌入式系统,第三章 嵌入式软件系统(一),王浩 副教授,中南大学信息科学与工程学院,本节内容,嵌入式软件的基本特征 嵌入式软件结构和组成 嵌入式软件的移植 嵌入式操作系统的基本概念,本节概念列示在黑板右侧,1.1 嵌入式软件开发需要交叉编译 1.2 嵌入式软件不一定需要操作系统 1.3 嵌入式软件都是无限循环 1.4 嵌入式软件都要响应中断 1.5 嵌入式软件的硬件相关性,一、基本特征,1.1 嵌入式软件开发需要交叉编译 由于其本身不具备自主开发能力,必须有一套开发工具和环境才能进行开发。 调试需要各种逻辑分析仪、混合信号示波器等。,一、基本特征,概念列示,嵌入式系统采用“宿主机/目标

2、机”方式交叉编译。,USB/RS232/以太网,宿主机:通用计算机(PC),开发环境。 目标机:嵌入式系统,运行环境。,通用计算机程序开发和编译在一台计算机上完成直接编译。,内存小 存储空间有限 计算能力有限,1.1 交叉编译,提问:为何嵌入式要用这种方式,交叉编译方式是嵌入式系统软件开发的唯一选择。 也是它的典型特征。,1.1 交叉编译,1.2 嵌入式软件不一定需要操作系统 简单的嵌入式系统上,譬如MCS-51处理器上,可以直接运行裸机程序。 复杂嵌入式系统上,需要嵌入式操作系统来调度资源和控制。,一、基本特征,裸机与,8,操作系统是一段核心程序 作为软硬件资源的控制中心,它以尽量合理有效的

3、方法组织多个用户共享计算机的各种资源。 作为一台功能强大的虚拟机,给用户一个方便、有效、安全的工作环境和开发环境,提供人机交互接口和API函数。,1.1 操作系统,操作系统,举例:上节课word和excel、打印机打印、UNIX多用户,简单的嵌入式应用 若嵌入式系统的功能需求比较简单,如电动玩具、空调、冰箱等,则嵌入式系统软件只需完成较简单的功能,就不需要嵌入式操作系统的支持。 如:基于8051的应用 儿童玩具、汽车系统等等,1.2 操作系统非必需,复杂的嵌入式应用 若功能比较复杂,需要网络功能、存储器管理、进程/线程管理等,则通过嵌入式操作系统的帮助,可以加快嵌入式系统软件的开发进度和可靠性

4、。 提高移植能力,商用化 需要嵌入式操作系统,1.2 操作系统非必需,1.3 嵌入式软件都是无限循环 嵌入式软件的结构上都是没有出口的,程序不能退出,整个程序的基本结构是无限循环。配合中断构成整体。,一、基本特征,列概念,main() Init_HardWare(); /* 硬件初始化 */ /* 超级循环 */ while(1) action1(); /* 常规循环操作 */ action2(); ,1.3无限循环,1.4 嵌入式软件都要响应中断 中断嵌入式系统实时地处理内部或外部事件的一种内部机制。 有无限循环就必须有中断,两者相互对应,互相依存。,一、基本特征,举例:写程序时老婆孩子的事

5、,中断工作原理 当某种内部或外部事件发生时,产生中断信号,嵌入式系统的中断系统将迫使CPU暂停正在执行的无限循环,转而去进行中断事件的处理,中断处理完毕后,又返回被中断的无限循环处,继续执行下去。 中断信号 中断后要干的事 循环的恢复 中断机制 中断服务程序 中断现场入栈,1.4 中断,列概念/举例,main() /* 超级循环 */ while(1) action1(); /* 常规循环操作 */ action2(); /* 中断1对应的服务程序 */ _interrupt ISR1() /* 中断服务工作 */ ,CPU中断源1,外部事件,执行 ISR1,1.4 中断,编译器自动加入现场出

6、入栈代码,main() /* 超级循环 */ while(1) action1(); /* 常规循环操作 */ action2(); /* 中断1对应的服务程序 */ _interrupt ISR1() /* 中断服务工作 */ ,后台,1.4 中断,前台,“中断+无限循环”构成的“前台/后台”软件结构是嵌入式软件的基本结构特征 裸机程序就是直接实现的“前台/后台”软件 名词解释:前台/后台 常规循环任务 = 后台 = 无限循环 设备中断任务 = 前台 = 中断。,1.4 中断,列概念,main() /* 超级循环 */ while(1) enter_low_power(); /* 进入低功耗

7、状态 */ /* 中断1对应的服务程序 */ _interrupt ISR1() /* 中断服务工作 */ /* 中断n对应的服务程序 */ _interrupt ISRn() /* 中断服务工作 */ ,1.4 中断,低功耗程序设计,简单“中断+无限循环”实时性有问题,需要操作系统协助。 中断出现随机性,导致执行时间不可预测。 多个中断会出现阻塞,影响中断响应时间。 程序修改后,执行时间发生巨大变化。,1.4 中断,提问,main() c = 3; a = 6; /* 超级循环 */ while(1) b = a * c; action(b); /* 中断1对应的服务程序 */ _inter

8、rupt ISR1() a = 100; ,中断 b = 18,中断 b = 300,action(b) if(b 50) ; /* 操作持续200ms */ else ; /* 操作持续10ms */ ,1.4 中断,中断服务程序限制 中断不能返回值; 不能向中断传递参数; 中断应该尽可能的短小精悍; printf() 函数会带来重入和性能问题,不能在中断中采用。 忌中大忌:不要再中断中停留太久,1.4 中断,中断向量表 写在BSP中的汇编代码; 列示出各种程序异常及其对应的中断服务程序,这段代码称为中断向量表。 编写设备驱动的主要内容 本质:汇编代码,1.4 中断,列概念,1.5 嵌入式软

9、件的硬件相关性 软件功能必须硬件可实现 回忆:Bootloader和BSP的硬件相关性。更换硬件,全部重编。 嵌入式系统专用性的体现。,一、基本特征,提问:专用性,本节内容,嵌入式软件的基本特征 嵌入式软件结构和组成 嵌入式软件的移植 嵌入式操作系统的基本概念,本节概念列示在黑板右侧,二、嵌入式软件结构和组成,2.1 初始化引导代码BootLoader 2.2 板级支持包BSP (可选) 2.3 嵌入式操作系统(可选) 2.4 应用软件,Bootloader内核启动前的最原始的初始化 本质:一段程序,不是死循环。 Bootloader的工作:初始化,带给系统一个干净的环境,将接力棒交给操作系统

10、。 Bootloader的安装媒介:嵌入式的存储器 有操作系统才会出现,也是BSP的一部分,2.1 BootLoader,main() Init_HardWare(); /* 硬件初始化 */ /* 超级循环 */ while(1) action1(); /* 常规循环操作 */ action2(); ,学名:硬件抽象层HAL Hardware Abstract Layer 工程:板极支持包BSP Board Supporting Package 作用:它把系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关。 为便于移植,裸机程序也用HAL方式实现模块化,2.2 板级支持包,优点

11、: 1. 便于移植 2. 便于开发 BSP具有以下两个特点: 1. 操作系统相关性 依赖于嵌入式操作系统 2. 硬件相关性 嵌入式处理器多种多样,2.2 板级支持包,提问:换芯片要改吗,板级支持包BSP的组成,设备驱动程序 配置文件,2.2 板级支持包,设备的中断 中断向量表 硬件配置参数,操作系统通过驱动程序和硬件直接打交道。,编写全新的BSP 需要编写所有的部分包括 OEM抽象层, 驱动, 引导程序 大约消耗 20人/月工作量 改写现有的BSP 对与目标板具有相似硬件组成的BSP的基础上进行某些改写,使其适用与目标板。,开发方式,2.2 板级支持包,操作系统是嵌入式应用软件的基础和开发平台

12、。 本质:也是一段程序,系统启动(Bootloader)后首先执行,相当于用户的主程序和API函数接口,运行完将接力棒交给应用程序。 无限循环 它是软硬件资源的控制中心,它以尽量合理有效的方法组织多个用户共享计算机的各种资源。,2.3 操作系统,作用,举例:word和powerpoint都用文件,基于操作系统的软件开发模式 精简模式:基于嵌入式操作系统内核,只包含任务调度、处理器管理和存储器管理。 完整模式:基于完整的嵌入式操作系统,包含操作系统内核和文件系统、人机界面等。,2.3 操作系统,运行必要条件 外存空间:存储数据、程序 内存空间:程序运行、中间计算变量 定时器:等优先级,调度任务

13、中断:中断服务、任务关联 堆栈:保护现场,2.3 操作系统,2.3.1 图形用户界面GUI 2.3.2 文件系统 2.3.3 网络协议栈,2.3 操作系统,定义 图形用户界面 - Graphics User Interface, 是指带界面显示的嵌入式系统与其使用者之间的 图形化对话接口。,2.3.1图形用户界面,组成要素 1、窗口(Windows),每个窗口是用户或系统的一个工作区域 2、图标(Icons),采用形象化的图标或图符,易于操作者理解与操作 3、菜单(Menu),供用户选择的功能提示 4、点触设备(Pointing Devices) ,指鼠标、按键、触摸屏等,便于用户进行操作,2

14、.3.1图形用户界面,主要特征 体积小 占用系统资源少 系统独立,可移植性好,2.3.1图形用户界面,定义 处理文件的操作系统的部分称为文件系统。 是操作系统中统一管理信息资源的一种软件,管理文件的存储、检索、更新,提供安全可靠的共享和保护手段,并且方便用户使用 功能 文件的构造、命名、存取、采用、保护和实 现等。,2.3.2 文件系统,41,嵌入式系统的物理存储 Flash存储器由于其安全性高,存储密度大,体积小,价格相对便宜,是嵌入式领域中最受欢迎的一类存储器 使用Flash存储器,通常有两种使用方式 只进行只读访问:程序 在系统运行的时候既需要进行读操作,也需要进行写操作:数据。,2.3

15、.2 文件系统,通用文件系统不适用于嵌入式系统。 Flash上实现文件系统,了解Flash的特点: 擦除-写入、块操作 Flash上文件系统: (1)数据管理:读取、修改、删除 (2)考虑擦写时间,协调数据吞吐量,2.3.2 文件系统,43,JFFS文件系统,2000年Axis公司发布了他们开发的Flash文件系统 JFFS JFFS文件系统是开放源代码的文件系统,可以说是专门用于嵌入式Linux等系统的 JFFS是直接在Flash上实现的文件系统 JFFS为Flash设备专门设计一个转换层来模拟普通的文件系统,2.3.2 文件系统,用途 对于具有网络功能的嵌入式产品是必要的。 根据网络协议的

16、不同(TCP/IP,UDP,NetBIOS等),进行网络协议的解析、转换,将数据最终对应到嵌入式系统的硬件中断上。,2.3.3网络协议栈,本节内容,嵌入式软件的基本特征 嵌入式软件结构和组成 嵌入式软件的移植 嵌入式操作系统的基本概念,本节概念列示在黑板右侧,3.1 嵌入式软件移植的必要性 基于嵌入式处理器的原因。 基于操作系统的原因。,三、移植,举例:龙珠ezvz、显示地图,3.2 裸机系统的软件移植 汇编语言编写的:放弃移植,重写。 C语言编写,无硬件抽象层,重写。 C语言编写,有硬件抽象层,移植很简单,更改硬件抽象层即可。,四、移植,3.3 嵌入式操作系统的移植 重新编写BootLoader(如果硬件变化) 重新编写板级支持包BSP。 移植设备驱动程序,更改与新系

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号