西安电子科技大学嵌入式实时操作系统第10章PPT课件

合集下载

西安电子科技大学嵌入式实时操作系统第1章PPT课件

西安电子科技大学嵌入式实时操作系统第1章PPT课件
0世纪90年代,在分布控制、柔性制造、数字化通信和 信息家电等巨大需求的牵引下,嵌入式应用进一步加速发展。 面向实时信号处理算法的DSP产品向着高速、高精度、低功 耗发展。Texas推出的第三代DSP芯片TMS320C30,引导着 微控制器向32位高速智能化发展。在应用方面,掌上电脑、 手持PC机、机顶盒技术相对成熟,发展也较为迅速。特别 是掌上电脑,1997年在美国市场上不过四五个品牌,而1998 年底,各式各样的掌上电脑如雨后春笋般纷纷涌现出来。随 着人类进入网络时代,将嵌入式计算机系统应用到各类网络 中已成为嵌入式系统发展的重要方向。在发展潜力巨大的信 息家电中,人们非常关注的网络电话设备,即IP电话,就是 一个代表。
第1章 嵌入式系统导论
在早期,由于嵌入式应用范围比较狭窄,大多用于工业 控制领域,人们还可以勉强将通用计算机通过改装、加固、 定制专业软件等方法,嵌入到大型系统中去实现嵌入式应用。 但随着经济、技术的高速发展,嵌入式应用越来越广泛,已 经深入到我们生活中的方方面面,小到彩电、空调、洗衣机、 手机,大到飞机、导弹、汽车等,嵌入式应用对计算机的功 能、体积、功耗、价格、重量、可靠性等方面的要求也越来 越苛刻,通过改造通用计算机的传统方法已远远不能胜任。 因此,嵌入式计算机不得不脱离通用计算机系统,走上独立 发展的道路。这就形成了现代计算机两大分支并行发展的时 期。
第1章 嵌入式系统导论
早在1614年,苏格兰人John Napier就发表论文公布他发 明了一种可以进行四则运算和方根运算的精巧装置。1848年, 英国数学家George Boole创立二进制代数学,为现代二进制 计算技术的发展铺平了道路。1937年,Bell试验室的George Stibitz展示了用继电器表示二进制的装置,尽管它是个展品, 但却是世界上的第一台二进制电子计算机。1946年2月15日, 名为ENIAC的计算机在美国诞生了,这是第一台现代意义 上的数字计算机,它的诞生具有划时代的意义,表明了现代 数字计算机时代的到来。在随后的近三十年里,计算机一直 为少数精英所掌握,主要用于实验室里的数值求解。

嵌入式系统的PPT课件

嵌入式系统的PPT课件

地址
指令寄存器
控制器
指令
数据通道
输入
输出
中央处理器
地址 数据
程序存储器
指令0 指令1 指令2
数据存储器
数据0 数据1 数据2
9
CISC和RISC
CISC:复杂指令集(Complex Instruction Set Computer)
具有大量的指令和寻址方式 8/2原则:80%的程序只使用20%的指令 大多数程序只使用少量的指令就能够运行。 RISC:精简指令集(Reduced Instruction Set Computer) 在通道中只包含最有用的指令 确保数据通道快速执行每一条指令 使CPU硬件结构设计变得更为简单
10
CISC与RISC的数据通道
开始
IF
ID
ALU MEM REG
退出
微操作通道
开始
IF
ID
REG ALU MEM
退出
单通数据通道
11
CISC的背景和特点
背景:存储资源紧缺, 强调编译优化 增强指令功能,设置一些功能复杂的指令,把一些原来由
软件实现的、常用的功能改用硬件的(微程序)指令系统 来实现 为节省存储空间,强调高代码密度,指令格式不固定,指 令可长可短,操作数可多可少 寻址方式复杂多样,操作数可来自寄存器,也可来自存储 器 采用微程序控制,执行每条指令均需完成一个微指令序列 (微程序) CPI > 5,指令越复杂,CPI越大。
15
CISC与RISC的对比
类别
CISC
指令系统 指令数量很多
RISC 较少,通常少于100
执行时间 编码长度
有些指令执行时间很长,如 整块的存储器内容拷贝;或 将多个寄存器的内容拷贝到 存贮器

嵌入式系统10

嵌入式系统10
q MOSI – 主器件数据输出、从器件数据输入 q MISO – 主器件数据输入、从器件数据输出 q SCLK – 时钟信号,由主器件产生 q /SS – 从器件使能信号,由主器件控制0
Ø 在点对点的通信中,SPI接口不需要进行寻址 操作,且为全双工通信,显得简单高效
Ø 上面再盖有一层外表面硬化处理、光滑防 刮的塑料层,它的内表面也涂有一层导电 涂层,在他们之间有许多细小的(小于 1/1000英寸)的透明隔离点把两层导电层隔 开绝缘。
PPT文档演模板
嵌入式系统10
Ø 手指触摸屏幕时,两层导电层在触摸点位 置就有了接触,电阻发生变化。
Ø 在X和Y两个方向上产生的信号经A/D转换 后送触摸屏控制器计算出(X,Y)的位置。
Ø 结果便是这个扭曲了的螺旋层使通过的光 线也发生扭曲。
PPT文档演模板
嵌入式系统10
光线穿过示意图
Ø 不加电时,扭 曲的液晶螺旋 层使通过的光 线也发生扭曲, 光线穿过偏振
滤光器而穿出。
PPT文档演模板
嵌入式系统10
光线阻断示意图
Ø 加电时,所有 分子按照电流 方向进行排列, 光线不再扭转 而被偏振滤光 器阻断。
I2C
Ø I2C(Inter-Integrated Circuit)总线
q 由PHILIPS公司开发的两线式串行总线,用于 连接微控制器及其外围设备。
Ø I2C总线特点
q 简单的2线,占用空间小 q 能够以100Kbps的最大传输速率支持40个组件 q 支持多主控(multimastering), 其中任何能够进
行发送和接收的设备都可以成为主总线 ,但在 任何时间点上只能有一个主控 。 q 双向传输,与公共时钟同步 q 两根线都是开漏的(open-drain),连接方便

电子科技大学嵌入式软件工程ppt课件

电子科技大学嵌入式软件工程ppt课件
• 在开发过程中,目标机端需接收和执行宿主机发 出的各种命令如设置断点、读内存、写内存等, 将结果返回给宿主机,配合宿主机各方面的工作。
嵌入式软件的交叉开发环境
• 物理连接和逻辑连接 – 物理连接是指宿主机与目标机通过物理线路连 接在一起,连接方式主要有三种:
• 串口 • 以太口 • OCD(On Chip Debug)方式,如JTAG、BDM等
5.3.2 宿主机上的交叉开发环境
(2)将交叉编译器路径添加到系统环境变量中,便于使用:
gedit /etc/profile 添加以下四行到该文件中: export PATH=/usr/local/arm/4.3.2/bin:$PATH export TOOLCHAIN=/usr/local/arm/4.3.2 export TB_CC_PREFIX=arm-linuxexport PKG_CONFIG_PREFIX=$TOOLCHAIN/arm-none-linux-gnueabi
• 调试器与ROM Monitor之间的通信遵循 远程调试协议。
宿主机
目标机
调试器
Windows或其它桌 面操作系统 PC机等硬件
逻辑上的连接 物理上的连接
监控程 序(ROM 被调试 Monitor) 程序
嵌入式 硬件
ROM Monitor调试方式
ROM Monitor
• 在目标机上电或复位后首先执行的就是 ROM Monitor,它对目标机进行一些必 要的初始化
交叉调试
非交叉调试
调试器和被调试程序运行在不同 调试器和被调试程序运行在同一
的计算机上
台计算机上
可独立运行,无需操作系统支持
需要操作系统的支持
被调试程序的装载由调试器完成

嵌入式系统原理与设计 教学课件(共82张PPT)

嵌入式系统原理与设计 教学课件(共82张PPT)
系统是采用一体化的监控程序,不存在操作系统平 台。而今天组成嵌入式系统的基本硬件构件已较复
杂,如:16位、32位CPU或特殊功能的微处理器、 特定功能的集成芯片、FPGA或CPLD等,其软
件设计的复杂性成倍增长。因此研究嵌入式系统的
设计原理及技术,提供系统的设计方法和开发工具是 嵌入式计算学科的关键技术。
嵌入式微处理器分类
嵌入式处理器
嵌入式微控制器 (MCU)
嵌入式DSP处理器 (DSP)
嵌入式微处理器 (MPU)
嵌入式片上系统 (System On Chip)
1、嵌入式微控制器(MCU)
• 嵌入式微控制器的典型代表是单片机这 种8位的电子器件目前在嵌入式设备中 仍然有着极其广泛的应用。
• 单片机芯片内部集成ROM/EPROM、 RAM、总线、总线逻辑、定时/计数器、 看门狗、I/O、串行口、脉宽调制输出、 A/D、D/A、Flash RAM、EEPROM等 各种必要功能和外设。
要求程序编写和编译工具的质量要高,以减少程序二进制代码长度、提 高执行速度。
以微处理器为核心
• 我们设计一个数字系统可以有很多种方法,如:定制
逻辑、现场可编程门阵列(FPGA)等,那么为什 么在设计嵌入式系统时要以微处理器为核心呢? 这主要有两种原因:
• (1)用微处理器是实现数字系统一种十分便捷、有 效的方法;
嵌入式系统的特征
• 可接5种GPS接收器; 嵌入式系统是以微处理器为核心的,嵌 入在其他设备中的专用计算机系统。它 5个按键需要和屏幕菜单显示组合起来完成这些功能。
在移动地图这个例子中,电能消耗特别重要,设计时应尽量减少存储器读/写,因为存储器访问是主要的功耗来源,存储器的访问必须精心安排 ,以避免多次读取相同的数据。

嵌入式系统PPT课件

嵌入式系统PPT课件
节能策略65面向pc笔记本电脑服务器通信设备的刀片服务器根据嵌入式系统模型定制节能技术非常缺乏甚至在某些方面是空白66cpu功能管理策略67固化为通用电源管理ic68预测什么时候设备的未来使用状况或者使用率通用性强但是嵌入式系统定制性强效果不佳69测试出每条指令的能耗估计测试程序运行完的总能耗测试出每个函数的能耗然后利用这些函数作为标准去估计其他函数运行的能cpu电压和频率调节会给实时性能带来了严峻挑战重新锁定锁相环路和其它动态时钟机制需要时间造成了很长的等待时间有时是毫秒级别锁定期间cpu既不能执行计算操作又不能响应外部事件中断通过动态的调节cpu的内核频率与内核电压以及动态的关闭系统的某些设备和调整某些设备的状态71通过软件来动态的预测和控制某些部件的开关72低功耗压缩算法73基于ice进行函数执行代码统计个人观点供参考欢迎讨论
– 设计过程应该是逐步细化和逐步完善的过程
• 面向对象的方法 以类及交互模式为中心
27
系统软件结构的设计
• 结构化方法(SA/SD) • 面向对象的方法(OOA/OOD)
– UML建模
28
结构设计的验证
• 结构设计的正确性非常关键 – 详细设计和实现的基础,对开发周期、成本有很大影响
• 验证所关心的问题 – 结构设计是否满足功能、性能要求 – 能否实现
• 软硬件协同设计 • 功耗的优化设计 • 嵌入式操作系统 • 开发环境 • 成本和开发周期 • 代码优化 • 高效的输入和输出 • 测试环境
7
嵌入式系统软件技术面临的几大问题
• 嵌入式软件全生命周期开发工具链 • 硬件与软件的Co-Design: Verilog + C = ? • 驱动程序的设计和生成技术(嵌入式软件开发中
– EDA设计工具

操作系统(西安电子科技大学)

操作系统(西安电子科技大学)

图1-3 计算机系统的层次关系
第1章 操作系统概述
1.3 操作系统的概念
为了深入理解操作系统的定义, 我们应注意以下 几点: (1) 操作系统是系统软件, 而且是裸机之上的第 一层软件。 (2) 操作系统的基本职能是控制和管理系统内的 各种资源, 有效地组织多道程序的运行。
第1章 操作系统概述
作为“管理者”, 操作系统主要负责如下事情: ① 监视各种资源并随时记录它们的状态; ② 实施某种策略以决定谁获得资源, 何时获得, 获得多少; ③ 分配资源供需求者使用; ④ 回收资源, 以便再分配。
第1章 操作系统概述
4. 文件管理功能 文件管理功能应包括: 文件存储空间的管理、 文 件操作的一般管理、 目录管理、 文件的读写管理和存 取控制。 (1) 文件存储空间的管理。 系统文件和用户文件都要放在磁盘上。
第1章 操作系统概述
(2) 文件操作的一般管理。 包括文件的创建、 删除、 打开、 关闭等。 (3) 目录管理。 包括目录文件的组织、 实现用 户对文件的“按名存取”, 以及目录的快速查询和文 件共享等。 (4) 文件的读写管理和存取控制。
第1章 操作系统概述
1.1 计算机发展简史
计算机的发展历史大致可分为以下几个阶段: 第一代: 1946年~1959年, 以美国建造的ENIAC 为代表, 主要电子器件是电子管。 第二代: 1960年~1964年, 主要特征是以晶体管 为主要电子器件, 如IBM 7090系列。 第三代: 1965年~1973年, 以集成电路作为计算 机的主要器件, 如IBM 360机种。
第1章 操作系统概述
2) 地址映射 大家都有这种经历: 我们在编写程序时并不考虑程 序和数据要放在内存的什么位置, 程序中设置变量、 数组和函数等只是为了实现这个程序所要完成的任务。 3) 内存保护 不同用户的程序都放在一个内存中, 必须保证它 们在各自的内存空间中活动, 不能相互干扰, 更不能 侵犯操作系统的空间。

嵌入式课件(ppt)

嵌入式课件(ppt)
1.1 嵌入式系统简介
嵌入式系统已经广泛应用于各个科技领域和日常生活的每个角落,由于其本 身的特性,使得我们很难发现它的存在。甚至一些从事嵌入式系统开发的科技人 员也只知单片机,不知道嵌入式系统。本节从嵌入式系统的定义开始,阐述嵌入 式系统的含义、特点等,以使读者加深对嵌入式系统的理解。
§1.1.1 嵌入式系统的定义 §1.1.2 嵌入式系统的组成 §1.1.3 嵌入式系统的特点 §1.1.4 嵌入式系统的应用 §1.1.5 嵌入式系统的发展
由上述可以看出,嵌入式系统是一个外延极广的概念,凡是与产品结合在一起的、 具有嵌入式系统特点的系统都可以称为嵌入式系统。
第1章 嵌入式系统设计基础
4
嵌入式系统的组成
嵌入式系统一般有3个主要的组成部分: 硬件。图1.1给出了嵌入式系统的硬件组成。其中,处理器是系统的运算核心; 存储器(ROM、RAM)用来保存可执行代码,以及中间结果;输入输出设备完成 与系统外部的信息交换;其他部分辅助系统完成功能。 应用软件。应用软件是完成系统功能的主要软件,它可以由单独的一个任务来 实现,也可以由多个并行的任务来实现。 实时操作系统(Real-Time Operating System,RTOS)。该系统用来管理应 用软件,并提供一种机制,使得处理器分时地执行各个任务并完成一定的时限要 求。
由于对嵌入式系统含义的理解因人而异,所以不同的书籍对嵌入式系统的定义也 不尽相同。下面给出了一些文献中对嵌入式系统的定义:
“Computer as Components – Principles of Embedded Computing System Design”一书的作者Wayne Wolf认为:“什么是嵌入式计算系统?如果不严格地定 义,它是任何一个包含可编程计算机的设备,但是它本身却不是一个通用计算机。”

电子科技大学,嵌入式系统设计嵌入式系统及应用-Chapter-.ppt

电子科技大学,嵌入式系统设计嵌入式系统及应用-Chapter-.ppt

中间件层
嵌入式 CORBA
TCP/IP 网络系统
嵌入式 JAVA
文件 系统
内核
嵌入式 DCOM
面向应用领域 的中间件
操作系统层
电源 管理 嵌入式 GUI
驱动层
板级 FLASH RTC/定 初始化 驱动 时器驱动 串口 驱动 以太网 驱动 LCD 驱动 键盘 驱动 其他 驱动
硬件
电子科技大学嵌入式软件工程中心
嵌入式软件系统的分类
系统软件
控制、管理计算 机系统的资源
嵌 入 式 软 件
嵌入式操作系统 嵌入式中间件(CORBA、 Java) 等等 系统分析设计工具 仿真开发工具 交叉开发工具 测试工具 配置管理工具 维护工具等 手机软件 路由器软件 交换机软件 飞控软件等
支撑软件
辅助软件开发的 工具
应用软件
面向应用领域
电子科技大学嵌入式软件工程中心
嵌入式软件系统的分类

从运行平台来分,嵌入式软件可以分为

运行在开发平台上的软件 :设计、开发、测试 工具等。

运行在嵌入式系统上的软件:嵌入式操作系统、 应用程序、驱动程序及部分开发工具。
电子科技大学嵌入式软件工程中心
嵌入式软件系统的体系结构
应用层
应用 任务1 应用 任务2 …… 应用 任务n

发常常涉及其它领域的专门知识,这对软件工程师 非常高,风险也大。现在软件的开销已大大超过了 许多软件的开发和运行涉及机构、体制和管理方式等问题, 提出了很高的要求。 硬件的开销。
还会涉及到人们的观念和心理。这些人的因素,常常成 电子科技大学嵌入式软件工程中心 为软件开发的困难所在,直接影响到项目的成败。
引导/升级系统

10嵌入式系统.ppt

10嵌入式系统.ppt

第一章 嵌入式系统概述
➢ 嵌入式DSP处理器
(Embedded Digital Signal Processor, EDSP)
❖ DSP处理器对系统结构和指令进行了特殊设计,使其适合 于执行DSP算法,编译效率较高,指令执行速度也较高。 在数字滤波、FFT、频谱分析等方面DSP算法正在大量进 入嵌入式领域,DSP应用正从在通用单片机中以普通指令 实现DSP功能,过渡到采用嵌入式DSP处理器。
(MicroController Unit, MCU) 嵌入式微控制器芯片内部集成一般以:
❖ 某一种微处理器内核为核心; ❖ ROM、RAM; ❖ I/O
内部总线逻辑 片内I/O资源:定时/计数器、WDT ,RTC 片外I/O接口:GPIO、脉宽调制输出 PWM、 D/A、串
行口、红外、A/D、LCD 外部总线逻辑接口:I2C、CAN,USB,SPI
作为一种系统级芯片,SOPC具有低的设计成本和开发风险,
从而获得广泛的应用。
第一章 嵌入式系统概述
➢可编程片上系统(SOPC)
SOPC是一种可编程逻辑器件,与普通PLD相比,SOPC 具有如下特点: 1.至少包含一个嵌入式处理器内核。 2.具有一定容量的片内高速RAM。 3.具有足够的片上可编程逻辑资源。 4. 具有处理器调试接口和编程接口。
速度非常快,功耗低;但芯片结构复杂、成本昂贵
✓ 动态随机存储器,Dynamic RAM(DRAM)
速度相Hale Waihona Puke 慢,功耗高;但芯片结构简单、成本较低
ROM (Read Only Memory) ✓ ROM (Read-Only Memory) ✓ PROM( Programmable Read-Only Memory)/[One-Time

嵌入式操作系统基础ppt

嵌入式操作系统基础ppt
1. 无操作系统的嵌入算法阶段
♫ 以单芯片为核心的可编程控制器形式,同时具

有与监测、伺服、指示设备相配合的功能。 ♫ 主要用于一些专业性极强的工业控制系统中, 一般没有操作系统的支持,通过汇编语言编程 对系统进行直接控制,运行结束后清除内存。 这一阶段系统的主要特点: ♫ 系统结构和功能都相对单一 ♫ 处理效率较低,存储容量较小 ♫ 几乎没有用户接口
嵌入式操作系统发展的四个阶段
3. 通用的嵌入式实时操作系统阶段,是以嵌入式操作系
统为核心的嵌入式系统 这一阶段系统的主要特点: 嵌入式操作系统能运行于各种不同类型的微处理器 上,兼容性好; 操作系统内核精小、效率高,并且具有高度的模块 化和扩展性; 具备文件和目录管理、设备支持、多任务、网络支 持、图形窗口以及用户界面等功能; 具有大量的应用程序接口 (API) ,开发应用程序简 单; 嵌入式应用软件丰富。
统 ♫ 结构紧凑、功能强大 ♫ 高可用(High Available)、高可靠(High Reliable )、支持 多处理器和分布式计算 ♫ 可动态加载和升级软件 ♫ 与开发工具有机的结合起来
使用嵌入式操作系统的必要性
♫ 嵌人式实时操作系统提高了系统的可靠性。
系统不崩溃,有自愈能力
♫ 提高了开发效率,缩短了开发周期。
任务分解为多个模块。每个模块的调试、修改几
乎不影响其他模块,支持多任务调试环境。 ♫ 嵌入式实时操作系统充分发挥了32位CPU的多任务 潜力。 32位CPU是为运行多用户、多任务操作系统而设 计的,特别适于运行多任务实时系统。32位CPU 采用利于提高系统可靠性和稳定性的设计,使其 更容易做到不崩溃。
Windows CE
♫ 微软公司嵌入式、移动计算平台的基础,是一个开放的、

西安电子科技大学嵌入式实时操作系统课件 第1章

西安电子科技大学嵌入式实时操作系统课件 第1章

第1章 嵌入式系统导论
1.1.2 嵌入式系统的定义
嵌入式计算机系统简称嵌入式系统,它的应用发源于微 机,发展于单片机。那么,究竟什么是嵌入式系统呢?嵌入 式系统的定义是怎样的呢? 依据IEEE(国际电气和电子工程师协会)的定义: “Device used to control, monitor, or assist the operation of equipment, machinery or plants”,即嵌入式系统为控制、监 视或辅助设备、机器甚至工厂运作的装置。它是一种计算机 软件和硬件的综合体,特别强调“量身定制”的原则,也就 是基于某种特殊的用途,设计者就会根据这些用途设计出一 种截然不同的系统来。
在理解嵌入式系统的定义的时候,要分清嵌入式系统与
嵌入式应用系统的区别。嵌入式应用系统是指内部含有嵌入 式系统的设备、装置或者系统,例如手机、数字彩电、空调、 工控单元、PDA、汽车、导弹等。这种区别就好像我们常说 的单片机系统与单片机应用系统的区别一样。尽管人们常常 在不严格的场合将单片机系统和单片机应用系统混称,但是 概念上的差别是很明显的。
第1章 嵌入式系统导论
按照定义,只要满足嵌入式系统三要素的,都可以称为
嵌入式系统。因此,嵌入式系统根据其形态和规模的不同可 分为: (1) 系统级,包括工控机、嵌入到应用系统中的通用计 算机等; (2) 板级,包括各种CPU主板; (3) 芯片级,如CPU、MCU、SOC、DSP、MPU等。
第1章 嵌入式系统导论
第1章 嵌入式系统导论
Wayne Wolf在其所著的嵌入式系统设计教科书上对嵌
入式系统的定义是:“Loosely defined, it is any device that includes a programmable computer but is not itself a generalpurpose computer”,即不严格地定义,嵌入式系统是包含可 编程计算机的任意设备,而它本身并不是被作为通用计算机 而设计的。书中他还说:“一台个人电脑不能称之为嵌入式 计算系统,尽管它常常被用于搭建嵌入式系统。”
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

语言 汇编 汇编 ANSI C ANSI C ANSI C ANSI C ANSI C ANSI C ANSI C ANSI C ANSI C ANSI C
复杂度 高 高 高 低 低 低 低 低 低 低 低 低
第10章 μC/OS-Ⅱ的移植与应用
移植所要进行的工作可以简单地归纳为如下几条: (1) 声明11个数据类型(OS_CPU.H); (2) 用#define声明4个宏(OS_CPU.H); (3) 用C语言编写10个简单的函数(OS_CPU_C.C); (4) 编写4个汇编语言函数(OS_CPU_A.ASM)。 根据处理器的不同,一个移植实例可能需要编写或改写 50~300行的代码,需要的时间从几个小时到一星期不等。 移植完毕后还要进行测试。
语言 ANSI C ANSI C ANSI C ANSI C ANSI C ANSI C ANSI C ANSI C ANSI C ANSI C ANSI C ANSI C ANSI C ANSI C ANSI C
汇编 汇编
复杂度 低 低 低 低 低 低 低 低 低 中 中 高 低 高 高 高 高
第10章 μC/OS-Ⅱ的移植与应用
第10章 μC/OS-Ⅱ的移植与应用
4. INCLUDES.H文件说明 INCLUDES.H是一个主头文件,它包括了所有的头文件, 这样做的好处是使得在应用中无需考虑每个 .C文件到底需 要哪些头文件,还可大大地提高代码的可移植性。唯一的缺 点是它可能会包含一些不相关的头文件,因此可能增加每个 文件的编译时间。一般地,该文件应该包含在所有 .C文件 的第一行,即# include “includes.h”。 10.1.2 OS_CPU.H代码的移植 OS_CPU.H头文件中包含了与编译器有关的数据类型和 与处理器有关的代码,具体如程序清单10.1所示。
第10章 μC/OS-Ⅱ的移植与应用
(4) C编译器必须支持从C中打开和关闭中断。 (5) C编译器最好支持用户在C语言程序中嵌入汇编语言, 这有利于用汇编语言来直接开关中断。 3. 移植的主要工作 µC/OS-Ⅱ的移植非常简单,但前提是:必须理解处理 器和C编译器的技术细节,拥有和掌握必要的工具,处理器 和编译器满足µC/OS-Ⅱ的上述五项原则。根据如图10.1所示 的µC/OS-Ⅱ软硬件体系结构,移植工作主要是改写与处理 器有关的内核代码以及与编译器数据类型有关的文件,详细 内容如表10.1所示。
第10章 μC/OS-Ⅱ的移植与应用 图10.1 µC/OS-Ⅱ软硬件体系结构
第10章 μC/OS-Ⅱ的移植与应用
表10.1 移植需要修改的文件一览表
名称 BOOLEAN INT8U INT8S INT16U INT16S INT32U INT32S FP32 FP64 OS_STK OS_CPU_SR OS_CRITICAL_METHOD OS_STK_GROWTH OS_ENTER_CRITICAL() OS_EXIT_CRITICAL() OSStartHighRdy() OSCtxSw()
名称 OSIntCtxSw() OSTickISR() OSTaskStkInit() OSInitHookBegin() OSInitHookEnd() OSTaskCreateHook() OSTaskDelHook() OSTaskSwHook() OSTaskStatHook() OSTCBInitHook() OSTimeTickHook() OSTaskIdleHook()
类型 函数 函数 函数 函数 函数 函数 函数 函数 函数 函数 函数 函数
所属文件 OS_CPU_A.ASM OS_CPU_A.ASM
OS_CPU_C.C OS_CPU_C.C OS_CPU_C.C OS_CPU_C.C OS_CPU_C.C OS_CPU_C.C OS_CPU_C.C OS_CPU_C.C OS_CPU_C.C OS_CPU_C.C
类型 数据类型 数据类型 数据类型 数据类型 数据类型 数据类型 数据类型 数据类型 数据类型 数据类型 数据类型
宏定义 宏定义
宏 宏 函数 函数
所属文件 OS_CPU.H OS_CPU.H OS_CPU.H OS_CPU.H OS_CPU.H OS_CPU.H OS_CPU.H OS_CPU.H OS_CPU.H OS_CPU.H OS_CPU.H OS_CPU.H OS_CPU.H OS_CPU.H OS_CPU.H OS_CPU_A.ASM OS_CPU_A.ASM
第10章 μC/OS-Ⅱ的移植与应用
第10章 μC/OS-Ⅱ的移植与应用
10.1 移植的基本方法 10.2 基于MCS-51单片机的移植实例 10.3 基于ARM处理器的移植实例 10.4 基于MCS-51单片机的应用实例 10.5 基于ARM处理器的应用实例
第10章 μC/OS-Ⅱ的移植与应用
10.1 移植的基本方法
第10章 μC/OS-Ⅱ的移植与应用
1. 移植对微处理器的要求 要使µC/OS-Ⅱ能够正常运行,处理器和编译器必须满 足以下五项要求: (1) 处理器的C编译器能产生可重入代码; (2) 用C语言就可以实现开关中断; (3) 处理器至少能支持定时中断,中断频率一般在10~ 100 Hz之间; (4) 处理器能够支持硬件堆栈,容量可达几KB; (5) 处理器有堆栈指针和读/写CPU其它寄存器、堆栈内 容或内存的指令。
10.1.1 移植的概念与一般要求 这里所谓的移植,就是使一个实时内核能运行在另一种
微处理器或者微控制器上。为了方便移植,μC/OS-Ⅱ在设 计时就充分考虑了可移植性,大部分代码都是用ANSI C语 言编写的,考虑到绝大多数微处理器在读/写寄存器时只能 用汇编语言来实现,所以仍然需要用汇编语言来编写2. 对移植开发工具的要求 移植µC/OS-Ⅱ,需要一个针对用户用的CPU的C编译器, 它必须满足如下要求: (1) C编译器必须支持汇编语言程序。 (2) C编译器必须能支持可重入代码,因为µC/OS-Ⅱ是 一个可剥夺型内核。 (3) C编译器必须包括汇编器、连接器和定位器。连接 器用来将经编译和汇编后产生的不同的模块连接成目标文件。 定位器用于将代码和数据放置在目标处理器的指定内存映射 空间中。
相关文档
最新文档