二基本概念ppt课件.ppt_第1页
二基本概念ppt课件.ppt_第2页
二基本概念ppt课件.ppt_第3页
二基本概念ppt课件.ppt_第4页
二基本概念ppt课件.ppt_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式系统设计与实例开发 ARM与 C OS 第二讲基本概念及设计方法嵌入式机电控制研究室 本节提要 1 3 2 4 关于课程与大作业的说明 嵌入式系统软硬件基础 嵌入式系统设计方法 一个嵌入式设计方法实例 一 基于实验平台 C OS ARM 完成一个嵌入式小游戏 如搬运工 贪吃蛇等 难度等级 EASY 二 基于实验平台 完成 C OS到ARM的移植 并完成一个嵌入式游戏 难度等级 MIDDLE 三 基于实验平台 完成 CLinux到ARM上的移植 并完成一个嵌入式应用程序 难度等级 HARD 说明 以上3个题目可根据自己TEAM的基础和条件选做 或者自己拟定题目 但一定要先经过任课教师同意 大作业题目 一 TEAM 3 4人一组 10月20日之前提交大作业任务计划书 格式自拟 包括以下内容 题目 设计目标 提交物 开发进度 任务分工 二 选题 要根据TEAM的实际情况 结合兴趣 重质量不重难度 三 提交 12月29日之前 提交设计说明书 包括代码 流程 演示结果 四 评分标准 完成质量 5 技术难度 3 其他 进度 协作等 2 评选3组优秀奖 五 设备使用 TEAM借用 保管完好 用后归还 大作业的要求 关于本课程的说明 一 期望值嵌入式系统是一类实用技术 本门课程以介绍实用开发技术为主 重点为动手实践 不会涉及到复杂的嵌入式系统建模 调度算法等理论知识 由于只有32个课时 而嵌入式系统涉及知识面又非常广 本门课程的目的是介绍大家 入门 要想深入了解和学习 大家需要付出更多的时间和努力 二 其他嵌入式的应用领域非常广阔 即使我们目前的平台 也可以开发出各种应用 如游戏 MP3 智能手机平台等 大家如果没有时间或没有兴趣完成大作业 建议退课 完成大作业时 发扬TEAM的团队精神和协作精神 培养自已解决问题的能力 课程与实验设置 课程设置 围绕完成大作业所需要的知识展开 嵌入式软硬件开发环境简介 3 ARM微处理器体系结构与指令集 6 C OS操作系统分析与移植 6 ARM C OS系统软硬应用设计 6 Linux系统及其在ARM上的移植 6 实验设置熟悉基本开发环境及软硬件平台 C OS在ARM上的移植实验交通管制信号灯模拟实验 I O接口模拟电子画板实验 触摸屏应用Linux开发环境实验 本节提要 1 3 2 4 关于课程与大作业的说明 嵌入式系统软硬件基础 嵌入式系统设计方法 一个嵌入式设计方法实例 嵌入式系统的软 硬件框架 冯 诺依曼体系结构和哈佛体系结构CISC与RISCIP核流水线存储器系统 嵌入式系统硬件基础 冯 诺依曼体系结构模型 指令寄存器 控制器 数据通道 输入 输出 中央处理器 存储器 程序 指令0 指令1 指令2 指令3 指令4 数据 数据0 数据1 数据2 哈佛体系结构 指令寄存器 控制器 数据通道 输入 输出 中央处理器 程序存储器 指令0 指令1 指令2 数据存储器 数据0 数据1 数据2 地址 指令 地址 数据 CISC和RISC CISC 复杂指令集 ComplexInstructionSetComputer 具有大量的指令和寻址方式 8 2原则 80 的程序只使用20 的指令 大多数程序只使用少量的指令就能够运行 RISC 精简指令集 ReducedInstructionSetComputer 在通道中只包含最有用的指令 确保数据通道快速执行每一条指令 使CPU硬件结构设计变得更为简单 CISC与RISC的数据通道 IF ID REG ALU MEM 开始 退出 IF ID ALU MEM REG 微操作通道 开始 退出 单通数据通道 CISC与RISC的对比 知识产权核 IP核 intellectualproperty 识产权知识产权 IP 电路或核是设计好并经过验证的集成电路功能单元 IP复用意味着设计代价降低 时间 价格 IP核的类别 微处理器微处理器 ARM PowerPC 存储器存储器 RAM memorycontroller 外设 PCI DMAcontroller 多媒体处理 MPEG JPEG encoder decoder 数字信号处理器 DSP 通信 Ethernetcontroller router IP核的种类 SoftCores code 软核 HDL语言描述 灵活度高 可修改 与工艺独立 可根据具体的加工工艺重新综合 IP很难保护 Firmcores code structure 固核 逻辑综合后的描述 与工艺相关 Hardcores physical 硬核 物理综合后的描述 准备流片 包含工艺相关的布局和时序信息 IP很容易保护 多数的处理器和存储器 IP核的商业模型 三种模式1 设计者提供设计和工具的许可证DSPGroup PineandOakCores 3Soft ARM 提供包括HDL在内的模拟模型 工具或仿真器 使用者负责设计制造 2 核厂商设计并制造集成电路芯片TI Motorola Lucent VLSI SSI Cirrus Adaptec 3 核厂商卖核 负责为客户设计并制造芯片LSIlogic TI Lucent IP核的市场构成 74 为硬件设计厂商 26 将购买IP核 40 hard 68 soft 32 firm ARM的IP核 固化宏单元 硬核 ARM920TARM7TDMIARM720TARM1022E 可综合内核 软核 ARM926EJ SARM7TDMI SARM1026EJ S 测试芯片ARM10200E 流水线技术 流水线技术 几个指令可以并行执行 提高了CPU的运行效率 内部信息流要求通畅流动 译码 取指 执行add 译码 取指 执行sub 译码 取指 执行cmp 时间 Add Sub Cmp 指令流水线 以ARM为例 为增加处理器指令流的速度 ARM7系列使用3级流水线 允许多个操作同时处理 比逐条指令执行要快 PC指向正被取指的指令 而非正在执行的指令 Fetch Decode Execute 从存储器中读取指令 解码指令 寄存器读 从寄存器Bank 移位及ALU操作寄存器写 到寄存器Bank PCPC PC 4PC 2 PC 8PC 4 ARMThumb 最佳流水线 该例中用6个时钟周期执行了6条指令 所有的操作都在寄存器中 单周期执行 指令周期数 CPI 1 操作 周期 123456 Fetch Decode Execute Fetch Decode Execute Fetch Decode Execute Fetch Decode Execute Fetch Decode Execute Decode Execute Fetch Decode Fetch Fetch LDR流水线举例 该例中 用6周期执行了4条指令指令周期数 CPI 1 5 周期 操作 123456 Fetch Decode Execute Fetch Decode Execute Fetch Decode Execute Data Writeback Fetch Decode Execute Fetch Decode Fetch 分支流水线举例 流水线被阻断 注意 内核运行在ARM状态 周期 12345 地址操作 Fetch Decode Execute Fetch Decode Execute Fetch Decode Fetch Fetch Decode Execute Linkret Adjust Fetch Decode Fetch 存储器系统 RAM 随机存取存储器 SRAM 静态随机存储器 DRAM 动态随机存储器 SRAM比DRAM快 SRAM比DRAM耗电多 DRAM存储密度比SRAM高得多 DRM需要周期性刷新 ROM 只读存储器 FLASH 闪存 输入输出接口 I OA D D A键盘LCD存储器接口设备接口 嵌入式系统软件基础 操作系统的分类嵌入式实时操作系统前台与后台多任务 任务优先级 调度非占先式与占先式 可重入型函数 操作系统的分类 1 顺序执行系统 系统内只含有一个程序 独占CPU的运行时间 按语句顺序执行该程序 直至执行完毕 另一程序才能启动运行 如DOS操作系统 2 分时操作系统 系统内同时可以有多个程序运行 把CPU的时间按顺序分成若干片 每个时间片内执行不同的程序 如UNIX 3 实时操作系统 系统内有多个程序运行 每个程序有不同的优先级 只有最高优先级的任务才能占有CPU的控制权 按实时性分类 强实时系统 其系统响应时间在毫秒或微秒级 数控机床 一般实时系统 其系统响应时间在毫秒到几秒的数量级上 其实时性的要求比强实时系统要差一些 媒体播放 弱实时系统 其系统响应时间约为数十秒或更长 1 循环轮询系统 PollingLoop 最简单的软件结构是循环轮询 程序依次检查系统的每一个输入条件 一旦条件成立就进行相应的处理 Initialize While true if condition 1 action 1 if condition 2 action 2 if condition n acition n 按软件结构分类 2 事件驱动系统 Event Drivensystem 事件驱动系统是能对外部事件直接响应的系统 它包括前后台 实时多任务 多处理器等 是嵌入式实时系统的主要形式 应用程序是一个无限的循环 循环中调用相应的函数完成相应的操作 这部分可以看成后台行为 background 中断服务程序处理异步事件 这部分可以看成前台行为 foreground 后台也可以叫做任务级 前台也叫中断级 例如 很多基于微处理器的产品采用前后台系统设计 如微波炉 电话机 玩具等 从省电的角度出发 平时微处理器处在停机状态 所有的事都靠中断服务来完成 前后台系统 后台循环 前台中断 ISR ISR 后台前台 ISR 时间 代码的临界区也称为临界区 指处理时不可分割的代码 一旦这部分代码开始执行 则不允许任何中断打断 在进入临界区之前要关中断 而临界区代码执行完以后要立即开中断 在任务切换时 地址 指令 数据等寄存器堆栈保护 代码的临界区 多任务 任务 进程和线程 一个任务 也称作一个线程 是一个简单的运行程序 每个任务都是整个应用的某一部分 每个任务被赋予一定的优先级 有它自己的一套CPU寄存器和自己的栈空间 多任务运行的实现实际上是靠CPU 中央处理单元 在许多任务之间转换 调度 CPU只有一个 轮番服务于一系列任务中的某一个 多任务运行使CPU的利用率得到最大的发挥 并使应用程序模块化 在实际应用中 多任务的最大特点是 开发人员可以将很复杂的应用程序层次化 如综合实验 时钟 位图 USB KEY 任务的状态 系统内核 Kernel 与调度 Scheduler 多任务系统中 内核负责管理各个任务 或者说为每个任务分配CPU时间 并且负责任务之间的通信 内核 Kernel 提供的基本服务是任务切换 内核本身也增加了应用程序的额外负荷 代码空间增加ROM用量 内核本身数据结构增加了RAM的用量 内核本身对CPU的占用时间一般在2到5个百分点之间 调度 Scheduler 是内核的主要职责之一 就是要决定该轮到哪个任务运行了 多数实时内核是基于优先级调度法的 每个任务根据其重要程度的不同被赋予一定的优先级 基于优先级的调度法则 CPU总是让处在就绪态的优先级最高的任务先运行 非占先式与占先式 非占先式 non preemptive 调度法也称作合作型多任务 cooperativemultitasking 各个任务彼此合作共享一个CPU 中断服务可以使一个高优先级的任务由挂起状态变为就绪状态 但中断服务以后控制权还是回到原来被中断了的那个任务 直到该任务主动放弃CPU的使用权时 那个高优先级的任务才能获得CPU的使用权 非占先式内核的一个特点是几乎不需要使用信号量保护共享数据 运行着的任务占有CPU 而不必担心被别的任务抢占 非占先式内核的最大缺陷在于其响应高优先级的任务慢 任务已经进入就绪态 但还不能运行 也许要等很长时间 直到当前运行着的任务释放CPU 内核的任务级响应时间是不确定的 不知道什么时候最高优先级的任务才能拿到CPU的控制权 完全取决于应用程序什么时候释放CPU 非占先式 Non Preemptive 当系统响应时间很重要时 要使用占先式 preemptive 内核 最高优先级的任务一旦就绪 总能得到CPU的控制权 当一个运行着的任务使一个比它优先级高的任务进入了就绪态 当前任务的CPU使用权就被剥夺了 或者说被挂起了 那个高优先级的任务立刻得到了CPU的控制权 使用占先式内核时 应用程序不应直接使用不可重入型函数 如果调入可重入型函数时 低优先级的任务CPU的使用权被高优先级任务剥夺 不可重入型函数中的数据有可能被破坏 占先式 preemptive 占先式 Preemptive 可以被一个以上的任务调用 而不必担心数据的破坏 可重入型函数任何时候都可以被中断 一段时间以后又可以运行 而相应数据不会丢失 可重入型函数或者只使用局部变量 即变量保存在CPU寄存器中或堆栈中 一个不可重入型函数的例子intTemp Voidswap int x int y Temp x X Y y Temp 可重入型函数 一个可重入型函数的例子Voidswap int x int y intTemp Temp x X Y y Temp 任务优先级 静态优先级应用程序执行过程中诸任务优先级不变 则称之为静态优先级 在静态优先级系统中 诸任务以及它们的时间约束在程序编译时是已知的 动态优先级应用程序执行过程中 任务的优先级是可变的 则称之为动态优先级 实时内核应当避免出现优先级反转问题 优先级反转 本节提要 1 3 2 4 关于课程与大作业的说明 嵌入式系统软硬件基础 嵌入式系统设计方法 一个嵌入式设计方法实例 嵌入式系统的开发 流程 确定产品需求 选择主要芯片 确定编程语言 选择开发环境 RTOS的使用 测试工具与其他辅助设备 嵌入式系统的开发 设计与调试 设计 生产 IDE 评估板 仿真器 逻辑分析仪 边界扫描测试仪 编程器 开发环境 什么是嵌入式开发环境 源程序 目标文件 可重定位程序 可执行文件 编译器 汇编器 链接定位器调试器 仿真器主机 Host 及其工作平台实时操作系统 可选 目标评估系统 可选 测试工具 软件 硬件 协议等 可选 其他辅助设备 可选 典型的开发环境 ARM的编译器 1 ADS1 2ARM公司出品IDE环境 包括 ARM Thumb汇编器 armasm ANSIC编译器 armcc和tcc ISO EmbeddedC 编译器 armcppandtcpp 链接器 armlink Windows集成开发环境 CodeWarrior 格式转换器 fromelf 库管理器 armar 调试器 模拟调试器 ARMulator JTAG调试 AXD 与Multi ICE配合 支持所有ARM内核 最新版本 RealView2 0 ARM的编译器 2 EW ARM瑞典IRA公司出品著名的嵌入式工具提供商 以提供编译器 协议栈 统一建模工具著称 主要产品 EmbededWorkbench EW MakeAPP VisualState等 EW ARM 针对ARM的集成开发环境 C C 编译器 C SPY模拟调试器 ROM Monitor 多种级别代码优化方法 满足用户在速度 文件大小方面的要求 内建ARM特性优化器 支持多种断点模式 支持Nucleus VxWorks等RTOS GreenhillsGNU 嵌入式系统的调试 1 嵌入式系统的调试有四种基本方法 模拟调试 Simulator 软件调试 Debugger BDM JTAG调试 BDM JTAGDebugger 全仿真调试 Emulator 嵌入式系统的调试 2 模拟调试 Simulator 调试工具和待调试的嵌入式软件都在主机上运行 由主机提供一个模拟的目标运行环境 可以进行语法和逻辑上的调试 优点 简单方便 不需要目标板 成本低 缺点 功能非常有限 无法实时调试 大多数调试工具都提供Simulator功能 嵌入式系统的调试 3 软件调试 Debugger 主机和目标板通过某种接口 通常是串口 连接 主机上提供调试界面 待调试软件下载到目标板上运行 这种方式的先决条件是要在Host和Target之间建立起通信联系 目标板上称为监控程序Monitor 优点 纯软件 价格较低 简单 软件调试能力较强 缺点 需要事先烧制Monitor 往往需多次试验才能成功 且目标板工作正常 功能有限 特别是硬件调试能力较差 PC Target Monitor 串口 嵌入式系统的调试 4 BDM JTAG调试这种方式有一个硬件调试体 该硬件调试体与目标板通过BDM JTAG等调试接口相连 与主机通过串口 并口 网口或USB口相连 待调试软件通过BDM JTAG调试器下载到目标板上运行 优点 方便 简单 无须制作Monitor 软硬件均可调试 缺点 需要目标板 且目标板工作基本正常 至少MCU工作正常 仅适用于有调试接口的芯片 Target PC 接口 BDM JTAGDebugger 嵌入式系统的调试 5 全仿真调试 Emulator 这种方式用仿真器完全取代目标板上的MCU 因而目标系统对开发者来说完全是透明的 可控的 仿真器与目标板通过仿真头连接 与主机有串口 并口 网口或USB口等连接方式 由于仿真器自成体系 调试时既可以连接目标板 也可以不连接目标板 Standalone 优点 功能非常强大 软硬件均可做到完全实时在线调试 缺点 价格昂贵 ARM的调试方式 模拟调试SDT2 52 ARMulatorADS1 2 ARMulatorTrace32 SimulatorEW ARM C spy软件调试ADS1 2 Angel 串口 SDT2 52Angel 串口 JTAG调试ARM Multi ICE 简易型仿真器Trace32 ICDforARMHitex TantoforARM全仿真调试Trace32 FIRE ICE ARM调试工具 Multi ICEARM公司出品与ADS配套使用支持不同的ARM内核另有Multi trace模块可选 选择实时操作系统RTOS 对于复杂的嵌入式系统应考虑使用RTOSRTOS的作用 提供API 应用编程接口 操作系统为应用程序员提供可供调用的API 允许程序员致力于应用程序的开发 简化系统设计 实时嵌入式系统比非实时系统更难设计 使用实时多任务的内核能简化系统设计 可将复杂的应用程序分为几个不同的任务 由内核去对他们协调处理 实验平台支持ARM的实时操作系统如下 C OSLinux 嵌入式系统编程语言 DatafromJapanITRONsurveyfornewembeddedsystems 嵌入式系统的测试 新技术 新方法使用边界扫描测试技术可以有效地解决这些问题 边界扫描来源于IEEEStd1149 1 是由联合测试行动小组 JointTestActionGroup 制定的一种测试逻辑 所以又称JTAG标准 JTAG作为集成电路的一部分 可以完成以下功能 测试器件间的相互连线 测试集成电路本身 在线编程CPLD FPGA FLASH JTAG仿真调试 嵌入式开发工具与开发环境 开发平台简介 嵌入式软件开发流程 开发平台简介 本节提要 1 3 2 4 关于课程与大作业的说明 嵌入式系统软硬件基础 嵌入式系统设计方法 一个嵌入式设计方法实例 工程机械 体系结构可靠设计 环境分析成本计算 芯片选择设计 接口调试 关键技术 主要系统 平地机 环境可靠性实验 装载机 搅拌机 挖掘机 软件选择开发 摊铺机 压路机 四 嵌入式设计方法实例 工程机械监控器 需求分析与评估功能定义与软硬件选型概要设计与软硬件划分软硬件协同详细设计集成调试维护与升级 设计步骤 工程机械方面应用工程机械六大市场领域 均符合国家经济发展四大战略所规定的资金投向 500亿投资 一个企业仅装载机销售7000台 1 需求分析与评估 沥青路面施工机群 资源配置不合理 施工过程施工过程质量 进度控制不到位 设备运行状况不能及时掌握 故障不能及时排除 分期付款控制技术 智能控制 动力平衡 安全操作 存在突出问题 监控器最重要 及时掌握设备运行状况 并进行必要故障诊断 其次是智能控制 动力平衡 安全操作 GPS定位与GSM通讯 协同控制 机群化资源配置 并提高施工过程施工过程质量 控制进度 监控器成本 建议控制在2000 3000元 有竞争力 开发时间为6个月 主要需求 2 功能定义与软硬件选型 8到10台单机智能化 搅拌机 装载机 自卸机 摊铺机 压路机等 设计具有GPS GSM监控器 建立通讯网络 设立机群化控制中心 数据库 显示屏 施工调度算法 工艺文件管理等 单机智能化采用监控器 网络通讯采用现成设备 中继站或短消息 控制中心PC 数据库Ms SQL 投影仪等 机群通讯与定位方案 设备制造商 设备使用商 Internet 中央控制室 搅拌站 GPS 移动通讯车 无线电台 Wirelessnet 无线电台 压路机 无线电台 摊铺机 无线电台 转运车 GPS 自卸卡车 机群智能化通讯方案图 GPS GPS GPS 表示因特网 表示无线以太网 表示物料转运方向 该课题的研究目标 研究智能化的监控器 可视化 多级界面 可控化 具有人机接口 内嵌的故障诊断 结合数据库进行 通讯功能 通过实际测试 提高其可靠性 产品化 降低成本 提高性能 最终取代国外产品 3 概要设计与软硬件划分 国外同类产品 工程机械智能监控器的功能 监控器的硬件选型 CPU 32位CPU将成为未来各种电子设备的核心 ARM系列具有精简指令集 在各种行业中已经获得了广泛的应用 各种开发 仿真支持工具比较完善 国内也已经形成了开发热潮 监控器的硬件设计方法 1 接口 串行口 CAN总线是主要的通讯接口 功能 首先是自动显示状态参数 报警 并具有通讯功能 以通用硬件平台为基础 首先平台对于监控器开发适用 人机接口 通讯扩展等 已有的研发工作使我们的开发更为快捷 而且硬件可以裁减 扩充 监控器的硬件设计方法 在这一平台上我们进行功能裁减 扩充CAN总线扩充 扩展性能 I O接口预留 A D口预留 必要时可以扩展采集数据 总线预留 便于使用总线扩展芯片扩展接口 监控器的硬件结构 ARM为CPU MB内存 16MBFLASH存储器 两个UART分别连接GPS GSM模块 USB高速下载 JTAG调试口 扩展CAN总线接口 监控器的软件需求分析 监控器软件的特点 图形界面重要 数字化仪表 模拟显示仪表 加强操作性能 可以控制 菜单显示 多种方式报警 声 图像显示 通讯功能强大 本地通讯和近远程通信 操作系统选型分析 操作系统选型主要考虑如下几个方面 车辆设备要求实时操作系统 外设很多 所以必须支持多任务 根据不同的车辆软件可裁剪 开发工具要完善 能够快捷地开发 监控器的软件设计方法 采用 COS II作为操作系统它是一个实时内核 支持多任务管理 扩展的文件管理系统 扩展的各种设备驱动 免费使用 工程机械智能监控器体系结构 设计智能化监控器的指导思想 功能和可靠性是工程机械监控器的两大要素 必须在两者之间寻找一个契合点 可靠性设计要求 一体化设计 软件精简 基本功能软件考虑 模板设计 实用简单 解决的方法 列举各种功能 保留必要 去除冗余 插接可靠 构件设计 对象封装 功能的模块化 软件的模板化 便于调

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论