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

合集下载

西安电子科技大学_计算机组成原理第7章输入输出IO系统_课件PPT

西安电子科技大学_计算机组成原理第7章输入输出IO系统_课件PPT
9
7.2 外部设备:习题
设一个磁盘盘面共有200个磁道,盘面总存储容量 60MB,磁盘旋转一周的时间为25ms,每磁道有8个扇 区,各扇区间有一间隙,磁头通过每个间隙需1.25ms。 则磁盘通道所需最大传输率是_____。
A. 10MB/s
B. 60MB/s
C. 83.3MB/s D. 20MB/s
14
7.3 I/O接口(I/O控制器):习题
在统一编址的情况下,就I/O设备而言,其对应的I/O 地址说法错误的是_____。 A. 要求固定在地址高端 B. 要求固定在地址低端 C. 要求相对固定在地址的某部分 D. 可以随意在地址的任何地方
7 第 章 输入输出(I/O)系统
7.4 I/O方式
2021年9月3日 21:40:22
7.4 I/O方式
程序查询方式 实现简单;CPU与I/O设备只能串行工作。
程序中断方式 中断的基本类型 按中断源的位置: 内中断 外中断 如何得到中断服务程序的入口地址: 向量中断: 由中断事件自己提供(硬件向量法) 非向量中断:由CPU查询得到(软件查询法)
19
7.4 I/O方式
程序中断方式
中断的过程:
中断请求:由中断源发出
中断响应:每条指令执行阶段结束前,未屏蔽
断点保护(硬件完成) 中断判优
PUSH PSW 关中断: IF=0; TF=0
中断源识别
PUSH CS
获得中断服务程序首地址 PUSH IP
中断处理
PUSH regs STI (选) 中断处理
一台字符显示器的VRAM中存放的是_____。
A. 显示字符的ASCII码
B. BCD码
C. 字模
D. 汉字内码

基于STM32的嵌入式系统原理与设计第一章ppt课件

基于STM32的嵌入式系统原理与设计第一章ppt课件
–通过本章的学习,既可以掌握STM32的全貌,也可以学 习到重要的关于Cortex M3处理器内核和STM32器件的 细节信息
3
1.1 STM32性能和结构 1.1.1总体性能
以高密度的STM32F103VET6为例,能适合一般项目的 需要,价格在30元以下,避免由于FLASH和RAM太小 造成的瓶颈。 VET6的含义为:
P33图1-18.
35
1.SysTic定时器的位置和功能 2. SysTic定时器的4个寄存器 表1-12 表1-15 3. SysTic定时器编程(寄存器级别)。
P36代码1-10. 4. SysTic定时器编程(库函数级别)。
P36代码1-11. 库函数实现原理 P36代码1-12
36
STM32的常规定时器分为三类,包括 1.高级控制定时器TIM1和TIM8 2.通用定时器TIM2、TIM3、TIM4、TIM5 3.基本定时器TIM6、TIM7 三种定时器功能 P39表1-16
55
亮点嵌入式
56
+ 选择NOR这个块连接TFT控制器,采用8080接口(接 口详细信息见液晶驱动板设计部分)。8080接口需 16跟数据线,可以用FSMC_D[15..0]做数据线。
+ 写信号是FSMC_NWE,读信号是FSMC_NOE。 + 地址信号的设置 + 液晶控制器RS信号的设置
54
+ P48 1,3,5,7,8
V的含义为100pins,即100个管脚。 E表示512KB的FLASH。 T表示LQFP封装。 6 表示-40到85度的温度范围。
4
1.1 STM32性能和结构 1.1.2 系统结构分析
5
ห้องสมุดไป่ตู้

ARM嵌入式LINUX应用程序设计PPT课件

ARM嵌入式LINUX应用程序设计PPT课件
内存分配与释放的数据结构2030linuxkfree它们用于分配和释放连续的内存空间blocksizepagedescriptorsizeskfree分配和释放内存block为单位进行的可以分配的空闲块的大小记录在blocksize表中它是一个静态数组linux设置了sizes数组对页面块进行描述数组元素是sizedescriptor结构体blocksizesizes元素数目相同它们一一对应sizes管理的各个页面块中每个块的头blockheader数控冲床冲压件数控冲床落料后再数控折弯件普通冲床开模冲压件剪板机落料及其它加工方式成形的钣金件点焊氩弧焊组焊件拉铆组件等其它方式加工而成的金属零件或组件
嵌入式软件测试中经常用到的测试工具: ➢ 内存分析工具 ➢ 性能分析工具 ➢ 覆盖分析工具 ➢ 缺陷跟踪工具
2021/3/18
15
嵌入式Linux面临的挑战
1
2
3
Linux的实时 扩充性
改变Linux内核 体系结构
完善Linux的集 成开发环境
Solution
➢ 扩展 Linux 的实时 性能
向外扩展 向上扩展
页式存储管理机制 页表
硬件无关部分
进程的映射和逻辑内存的对换
硬件相关部分
为内存管理硬件提供了虚拟接口
每个进程保留一张页表,用于将本进程 空间中 的虚拟地址变换成物理地址。
2021/3/18
20
进程调度
当需要选择下一个进程运行时,由调度程序选择最值得运行的进程,依 据每个进程的task_struct结构
交叉开 发环境
开放类型
GNU工具链
➢ 常用的交叉开发环
境主要有开放和商
业两种类型。开放 Metrowerks CodeWarrior

第三版操作系统课后习题答案_西安电子科技大学[1]1[1]

第三版操作系统课后习题答案_西安电子科技大学[1]1[1]

第三版操作系统课后习题答案西安电子科技大学第一章操作系统引论1. 设计现代OS的主要目标是什么?方便性,有效性,可扩充性和开放性.2. OS的作用可表现为哪几个方面?a. OS作为用户与计算机硬件系统之间的接口;b. OS作为计算机系统资源的管理者;c. OS实现了对计算机资源的抽象.7. 实现分时系统的关键问题是什么?应如何解决?a. 关键问题:使用户能与自己的作业进行交互,即当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,再将结果返回给用户。

b. 解决方法:------对于及时接收,只需在系统中设置一多路卡,使主机能同时接收用户从各个终端上输入的数据;此外,还须为每个终端配置一个缓冲区,用来暂存用户键入的命令(或数据)。

------对于及时处理,应使所有的用户作业都直接进入内存,并且为每个作业分配一个时间片,允许作业只在自己的时间片内运行,这样在不长的时间内,能使每个作业都运行一次。

12. 试在交互性,及时性和可靠性方面,将分时系统与实时系统进行比较.a. 分时系统是一种通用系统,主要用于运行终端用户程序,因而它具有较强的交互能力;而实时系统虽然也有交互能力,但其交互能力不及前。

b. 实时信息系统对实用性的要求与分时系统类似,都是以人所能接收的等待时间来确定;而实时控制系统的及时性则是以控制对象所要求的开始截止时间和完成截止时间来确定的,因此实时系统的及时性要高于分时系统的及时性。

c. 实时系统对系统的可靠性要求要比分时系统对系统的可靠性要求高。

13. OS具有哪几大特征?它的最基本特征是什么?a. 并发性、共享性、虚拟性、异步性。

b. 其中最基本特征是并发和共享。

(最重要的特征是并发性)18. 是什么原因使操作系统具有异步性特征?在多道程序环境下允许多个进程并发执行,但由于资源等因素的限制,进程的执行通常并非一气呵成,而是以走走停停的方式运行。

内存中的每个进程在何时执行,何时暂停,以怎样的速度向前推进,每道程序总共需要多少时间才能完成,都是不可预知的,因此导致作业完成的先后次序与进入内存的次序并不完全一致。

嵌入式系统3(ARM基本编程模型)

嵌入式系统3(ARM基本编程模型)

西安电子科技大学计算机学院
9
众多的合作伙伴
西安电子科技大学计算机学院
10
1.4 ARM体系结构版本

V1

基本数据处理 字节,字以及多字load/store 软件中断 26 bit 地址总线
Multiply & Multiply-accumulate 支持协处理器 支持线程同步 26 bit 地址总线
27
1.6.9 Xscale系列

Xscale系列处理器是基于ARMv5TE体系结 构的解决方案,是一款全性能、高性价比、 低功耗的处理器。它支持16位的Thumb指 令和DSP指令集,己经使用在数字移动电 话、个人数字助理和网络产品等场合。 Xscale系列处理器是Intel目前主要推广的一 款ARM微处理器。
ARM体系结构版本

V5

提高了ARM和Thumb之间的交互效率 增加了前导零计数指令 增加了BKPT(软件中断)指令
降低耗电量 多媒体处理扩展
• 使MPEG4编码/解码加快一倍 • 音频处理加快一倍

V6


支持多微处理器内核 ARM11采用V6
西安电子科技大学计算机学院 13
ARM体系结构版本
嵌入式系统
第三讲 ARM基本编程模型
本节内容




ARM简介 ARM处理器的工作状态 ARM处理器的运行模式 ARM处理器的寄存器组织 Thumb状态下的寄存器
西安电子科技大学计算机学院
2
1.1 ARM的发展历史
1985年4月26日,第一个ARM原型在英国剑桥的 Acorn计算机有限公司诞生,由美国加州San Jose VLSI技术公司制造 20世纪80年代后期,ARM很快开发成Acorn的台 式机产品,形成英国的计算机教育基础 1990年成立了Advanced RISC Machines Limited ARM = Advanced RISC Machines

嵌入式系统及应用_罗蕾_Chapter1-嵌入式系统导论

嵌入式系统及应用_罗蕾_Chapter1-嵌入式系统导论
电子科技大学嵌入式软件工程中心
嵌入式系统的出现和兴起
• 出现:20世纪60年代以晶体管、磁芯存储 为基础的计算机开始用于航空等军用领域。
– 第一台机载专用数字计算机是奥托内蒂克斯公 司为美国海军舰载轰炸机“民团团员”号研制 的多功能数字分析器(Verdan)。
– 同时嵌入式计算机开始应用于工业控制。1962 年一个美国乙烯厂实现了工业装置中的第一个 直接数字控制(DDC)。
软件研究工程中心。
电子科技大学嵌入式软件工程中心
课程的主要内容
• 嵌入式系统基础,约12节课
– 嵌入式系统导论(什么是嵌入式系统?嵌入 式系统分类、发展历程、特点、应用领域、 发展趋势), 约3节课
– 嵌入式硬件系统基础(基本组成,嵌入式微 处理器:ARM、MIPS、X86、SH等,总线、 存储系统、输入/输出与典型接口等, W90P710/SH7709S ),约7节课
单用户系统
微型机
小型机
大型机
计算的自由性
电子科技大学嵌入式软件工程中心
无处不在的计算机
施乐公司Palo Alto研究中心主任Mark Weiser认为: “从长远来看,PC机和计算机工作站将 衰落,因为计算机变得无处不在:例如 在墙里、在手腕上、在手写电脑中(象手 写纸一样)等等,随用随取、伸手可及”。
嵌入式设备无处不在, 但桌面系统还依然有用
电子科技大学嵌入式软件工程中心
通用计算机-看得见的计算机
如:PC机、服务器、大型计算机等。
电子科技大学嵌入式软件工程中心
通用计算机-看得见的计算机
电子科技大学嵌入式软件工程中心
嵌入式系统定义
• 看不见的计算机,一般不能被用户编程, 它有一些 专用的I/O设备, 对用户的接口是应用专用的。

report


嵌入式开发的一般方法
嵌入式系统的软件开发通常采用“宿主 机/目标机”方式,首先利用宿主机上的丰 富的资源及良好的开发环境开发和仿真调试 目标机上的软件,然后,通过串行口或网络 将交叉编译生成的目标代码传输并装载到目 标机上,最后目标机在特定的环境下运行。
STM32F107的组成
STM32F107包括十个定时器、两个12位A/D、 两个12位的D/A、两个12C接口、五个 USART接口和三个SPI端口和高质量数字音 频接口IIS、全速的USB接口、两路CAN2.0B 接口,以及以太网10/100MAC模块、64K的 SRAM、256K的FLASH
Windows CE
• 组成
• Windows CE主要由两大部分组成,一是 Windows CE硬件设备,另一个是Windows CE中 运行的采集端软件。
Windows CE
硬件平台
• ARM / Xscale
(ARM(芯片)是一个体系,XSCALE是这个体系中间的一个系列)
• • • •
MIPS (单字长定点指令平均执行速度 ) PowerPC (一种精简指令集(RISC)架构的中央处理器(CPU), ) Sparc(可扩充处理器架构”(Scalable Processor ARChitecture)) x86 (由Intel推出的一种复杂指令集,用于控制 芯片的运行的程序)
• 微控制器启动方式(自举模式):
1)Flash存储器启动
2)系统存储器启动
3)内置SRAM启动
STM32F103的适用场合
• • • • 电机驱动和应用控制 医疗和手持设备 PC外设和GPS平台 工业应用:可编程控制器、变频器、打印 机、扫描仪 • 警报系统、视频对讲、暖气通风空调

ReWorks实时操作系统核心功能分析(ppt 47页)


4
培训大纲
1
时钟/定时器管理:
阐述ReWorks的系统时钟、时间、定时器等基本功能。
中断/异常管理:
2
描述ReWorks对于外部事件的中断响应方式,以及对于CPU异常的
处理机制。
rks中对于多任务的调度机制,以及任务间共享资源以
及同步的手段。
4
内存管理:
叙述实时系统中对于内存的管理方法,包括对于硬件MMU的支持。
5
总结:
通过几个上机分组实验对培训内容进行归纳总结。
5
培训大纲
1
时钟/定时器管理:
阐述ReWorks的系统时钟、时间、定时器等基本功能。
中断/异常管理:
2
描述ReWorks对于外部事件的中断响应方式,以及对于CPU异常的
处理机制。
多任务管理 :
3
讲述ReWorks中对于多任务的调度机制,以及任务间共享资源以
❖ 首先,中断的优先级高于任务,即使ISR 发送一条消息和唤醒 一个高优先级的任务使其就绪,ReWorks•内核仍然必须先返 回到ISR,让ISR完成。
❖ 其次, ISR 通常是通信/同步源,它往往需要返回一个信号量, 或者向任务发送一个消息或一个事件。ISR 很少会是通信汇点 ,它不能等待消息或事件。
。 ❖ ReWorks采用中断处理和任务 的关联机制,使主体的中断处理任 务可运行于用户空间。
任务态
中断产生
中断态 恢复现场
中断嵌套
保存现场
中断处理
任务切换
就绪队列 任务优先级高
14
2.1 中断/异常管理
中断/异常概述
❖ 作为其I/O处理的一部分。ISR 通常直接与一个或多个任务通信 ,这种通信的性质通常是驱使一个任务运行并处理中断条件。 这类似于任务与任务的通信或同步。但有两点重要的差别。

《嵌入式系统开发与应用》教学教案

《嵌入式系统开发与应用》教学教案第一章:嵌入式系统概述1.1 教学目标让学生了解嵌入式系统的定义、特点和应用领域让学生掌握嵌入式系统的基本组成部分及其工作原理让学生了解嵌入式系统的发展趋势和未来发展方向1.2 教学内容嵌入式系统的定义和特点嵌入式系统的基本组成部分:处理器、存储器、输入输出接口等嵌入式系统的应用领域:家电、工业控制、医疗设备等嵌入式系统的发展趋势和未来发展方向1.3 教学方法采用讲授法,讲解嵌入式系统的定义、特点和应用领域采用案例分析法,分析具体的嵌入式系统应用实例采用小组讨论法,让学生分组讨论嵌入式系统的发展趋势和未来发展方向1.4 教学评价课堂问答:学生能够回答嵌入式系统的定义、特点和应用领域的问题案例分析报告:学生能够分析具体的嵌入式系统应用实例第二章:嵌入式处理器2.1 教学目标让学生了解嵌入式处理器的定义、分类和性能指标让学生掌握嵌入式处理器的基本组成和工作原理让学生了解嵌入式处理器的选择方法和应用领域2.2 教学内容嵌入式处理器的定义和分类:单片机、ARM、DSP等嵌入式处理器的主要性能指标:主频、缓存、功耗等嵌入式处理器的基本组成:内核、外围电路、接口等嵌入式处理器的选择方法和应用领域2.3 教学方法采用讲授法,讲解嵌入式处理器的定义、分类和性能指标采用实验演示法,展示嵌入式处理器的基本组成和工作原理采用案例分析法,分析具体的嵌入式处理器应用实例2.4 教学评价课堂问答:学生能够回答嵌入式处理器的定义、分类和性能指标的问题案例分析报告:学生能够分析具体的嵌入式处理器应用实例第三章:嵌入式操作系统3.1 教学目标让学生了解嵌入式操作系统的定义、特点和分类让学生掌握嵌入式操作系统的基本组成和工作原理让学生了解嵌入式操作系统的选择方法和应用领域3.2 教学内容嵌入式操作系统的定义和特点:实时性、小型化、可移植性等嵌入式操作系统的分类:裸机、实时操作系统、嵌入式中间件等嵌入式操作系统的基本组成:内核、驱动程序、应用程序等嵌入式操作系统的选择方法和应用领域3.3 教学方法采用讲授法,讲解嵌入式操作系统的定义、特点和分类采用实验演示法,展示嵌入式操作系统的基本组成和工作原理采用案例分析法,分析具体的嵌入式操作系统应用实例3.4 教学评价课堂问答:学生能够回答嵌入式操作系统的定义、特点和分类的问题案例分析报告:学生能够分析具体的嵌入式操作系统应用实例第四章:嵌入式系统设计与开发流程4.1 教学目标让学生了解嵌入式系统设计的任务和步骤让学生掌握嵌入式系统开发的基本流程和方法让学生了解嵌入式系统开发的工具和环境4.2 教学内容嵌入式系统设计的任务和步骤:需求分析、硬件选型、软件设计等嵌入式系统开发的基本流程:系统设计、硬件实现、软件开发等嵌入式系统开发的工具和环境:集成开发环境、编程语言、调试工具等4.3 教学方法采用讲授法,讲解嵌入式系统设计的任务和步骤采用实验演示法,展示嵌入式系统开发的基本流程和方法采用案例分析法,分析具体的嵌入式系统开发实例4.4 教学评价课堂问答:学生能够回答嵌入式系统设计的任务和步骤的问题案例分析报告:学生能够分析具体的嵌入式系统开发实例第五章:嵌入式系统应用实例分析5.1 教学目标让学生了解嵌入式系统在各个领域的应用实例让学生掌握第六章:嵌入式系统在家电领域的应用6.1 教学目标让学生了解嵌入式系统在家电领域的应用实例让学生掌握家电领域中嵌入式系统的解决方案和设计要点让学生了解家电领域中嵌入式系统的发展趋势6.2 教学内容嵌入式系统在家电领域的应用实例:电视、冰箱、空调等家电领域中嵌入式系统的解决方案和设计要点:人机界面设计、网络通信等家电领域中嵌入式系统的发展趋势:智能化、网络化、节能化等6.3 教学方法采用讲授法,讲解嵌入式系统在家电领域的应用实例采用案例分析法,分析具体的嵌入式系统在家电领域的应用实例采用小组讨论法,让学生分组讨论家电领域中嵌入式系统的发展趋势6.4 教学评价课堂问答:学生能够回答嵌入式系统在家电领域的应用实例的问题案例分析报告:学生能够分析具体的嵌入式系统在家电领域的应用实例第七章:嵌入式系统在工业控制领域的应用7.1 教学目标让学生了解嵌入式系统在工业控制领域的应用实例让学生掌握工业控制领域中嵌入式系统的解决方案和设计要点让学生了解工业控制领域中嵌入式系统的发展趋势7.2 教学内容嵌入式系统在工业控制领域的应用实例:PLC、等工业控制领域中嵌入式系统的解决方案和设计要点:实时性、稳定性等工业控制领域中嵌入式系统的发展趋势:自动化、智能化等7.3 教学方法采用讲授法,讲解嵌入式系统在工业控制领域的应用实例采用案例分析法,分析具体的嵌入式系统在工业控制领域的应用实例采用小组讨论法,让学生分组讨论工业控制领域中嵌入式系统的发展趋势7.4 教学评价课堂问答:学生能够回答嵌入式系统在工业控制领域的应用实例的问题案例分析报告:学生能够分析具体的嵌入式系统在工业控制领域的应用实例第八章:嵌入式系统在医疗设备领域的应用8.1 教学目标让学生了解嵌入式系统在医疗设备领域的应用实例让学生掌握医疗设备领域中嵌入式系统的解决方案和设计要点让学生了解医疗设备领域中嵌入式系统的发展趋势8.2 教学内容嵌入式系统在医疗设备领域的应用实例:心电监护仪、超声波设备等医疗设备领域中嵌入式系统的解决方案和设计要点:精度、可靠性等医疗设备领域中嵌入式系统的发展趋势:智能化、小型化等8.3 教学方法采用讲授法,讲解嵌入式系统在医疗设备领域的应用实例采用案例分析法,分析具体的嵌入式系统在医疗设备领域的应用实例采用小组讨论法,让学生分组讨论医疗设备领域中嵌入式系统的发展趋势8.4 教学评价课堂问答:学生能够回答嵌入式系统在医疗设备领域的应用实例的问题案例分析报告:学生能够分析具体的嵌入式系统在医疗设备领域的应用实例第九章:嵌入式系统在交通领域的应用9.1 教学目标让学生了解嵌入式系统在交通领域的应用实例让学生掌握交通领域中嵌入式系统的解决方案和设计要点让学生了解交通领域中嵌入式系统的发展趋势9.2 教学内容嵌入式系统在交通领域的应用实例:智能交通系统、车辆导航等交通领域中嵌入式系统的解决方案和设计要点:实时性、安全性等交通领域中嵌入式系统的发展趋势:智能化、高效化等9.3 教学方法采用讲授法,讲解嵌入式系统在交通领域的应用实例采用案例分析法,分析具体的嵌入式系统在交通领域的应用实例采用小组讨论法,让学生分组讨论交通领域中嵌入式系统的发展趋势9.4 教学评价课堂问答:学生能够回答嵌入式系统在交通领域的应用实例的问题案例分析报告:学生能够分析具体的嵌入式系统在交通领域的应用实例重点和难点解析一、嵌入式系统概述:理解嵌入式系统的定义、特点和应用领域,以及嵌入式系统的基本组成和工作原理。

《ARM嵌入式Linux系统开发》PDF课件


华清远见
LINUX的移植
v 移植uboot
选择uboot版本 选择uboot支持的合适的参考板子 配置硬件相关的资源(SDRAM/DDR) 三个重要的驱动:uart,flash,ethernet
PDF 文件使用 "pdfFactory Pro" 试用版本创建
华清远见
PDF 文件使用 "pdfFactory Pro" 试用版本创建
华清远见
嵌入式LINUX
v 工具
make arm-linux-gcc, arm-linux-ld arm-linux-g++ arm-linux-nm, arm-linux-objdump
PDF 文件使用 "pdfFactory Pro" 试用版本创建
华清远见
PDF 文件使用 "pdfFactory Pro" 试用版本创建
PDF 文件使用 "pdfFactory Pro" 试用版本创建
华清远见
掌握的知识
v Linux
深入的C语言能力 了解gcc、ld的原理和用法 了解Make工具的使用(包括Makefile) 了解堆栈的原理和用途 了解系统调用的原理
PDF 文件使用 "pdfFactory Pro" 试用版本创建
强化uboot的功能 裁减rootfs 选择rootfs type(yaffs,jffs2,cramfs,ramdisk) 对flash合理分区 对flash的读写保护
PDF 文件使用 "pdfFactory Pro" 试用版本创建
华清远见
掌握的知识
v ARM
了解arm的指令集和用法 了解arm的mmu原理 深入理解arm的cache原理 熟读需要移植的芯片手册 熟悉各种常用总线如:PCI,USB 了解abi(应用二进制接口)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第11章 μC/OS-Ⅱ几个版本的区别
11.3 μC/OS-ⅡV2.76与V2.83的区别
V2.76与V2.83之间主要有如下区别: (1) V2.83在用户的工程里增加了APP_CFG .H文件, 用于标明任务的优先级、堆栈长度以及其它与应用程序相关 的配置等信息。
(2) V2.83在用户的工程中增加了OS_TMR.C文件,用
关信息,方便调试。然而,如果OS_TIME_TICK_ HOOK_EN被设置为1,则函数OSTimeTickHook()仍按照标 准的时钟频率执行。
第11章 μC/OS-Ⅱ几个版本的区别
(10) V2.62增加了配置常量OS_TIME_TICK_HOOK_
EN。通常,μC/OS-Ⅱ在时钟中断代码内总会调用函数 OSTimeTickHook(),而需要用到时钟中断而又不需要做其 它操作时,可置OS_TIME_TICK_HOOK_EN = 0,系统编 译时就会省略这段函数代码。 (11) V2.62在μC/OS_Ⅱ.H文件中增加了一个声明 “extern C”,从而使得用户可以用C++编译器来编译μC/OSⅡ。 (12) 一些对系统功能没有影响的代码的改写和删减这里 不再赘述。
第11章 μC/OS-Ⅱ几个版本的区别
(8) V2.62增加了配置常量OS_TASK_SW_HOOK_EN。
通常,μC/OS-Ⅱ都需要编译任务切换扩展函数OSTask SwHook(),而当任务切换且不需要做其它操作时,可置 OS_TASK_SW_HOOK_EN = 0,系统编译时就会省略这段 函数代码。
第11章 μC/OS-Ⅱ几个版本的区别
在中断或应用程序中,通过调用OSTmrSignal()函数以
OS_TMR_CFG_TICK_RATE定义的频率发送已封装好的信 号量OSTmrSemSignal。OSTmrTask()永远等待这个信号量, 当其被发送后,OSTmrTask()再获得另外一个二进制信号量 OSTmrSem,就可以按应用程序中定义的定时器的数据结构 对定时器进行数据更新。 (4) V2.83在μC/OS_Ⅱ.H文件中包含了APP_CFG .H、 OS_CPU .H和OS_CFG .H,这使得用户不需要其它库函数 就能编译μC/OS-Ⅱ。
第11章 μC/OS-Ⅱ几个版本的区别
(6) V2.62增加了配置常量OS_TASK_PROFILE_EN。
用户可以在每个任务的任务控制块中声明一些变量,用于跟 踪任务切换次数、执行时间、占用的空间大小等。 (7) V2.62增加了配置常量OS_TASK_STAT_STK_CHK_ EN。如果不使用统计任务(即OS_TASK_STAT_EN=0),当 设置OS_TASK_STAT_STK_CHK_EN=1时,用户可以在任 务中调用函数OS_TaskStatStkChk()来查看本身的堆栈大小。 而如果OS_TASK_STAT_EN=1,则系统每秒钟都要检查任 务堆栈的大小,开销比较大。
第11章 μC/OS-Ⅱ几个版本的区别
(5) 在V2.83中,如果要使用定时器管理功能,就必须在
APP_CFG .H中声明的OS_TASK_TMR_PRIO来定义定时器 任务的优先级。 (6) V2.83的OS_CFG_R.H中增加了如下几个配置常量: OS_TMR_EN,定时器管理配置常置;OS_TMR_CFG_ MAX,用户定义的定时器最大数量配置常量;OS_TASK_ TMR_ STK_SIZE,定时器任务堆栈大小配置常量;OS_ TMR_CFG_NAME_SIZE,定时器名称最大长度配置常量; OS_TMR_CFG_TICKS_PER_SEC,定时器计数频率配置常 量。
(2) V2.76将V2.62中的OS_DEBUG.C文件改名为
OS_DBG .C,并增加了参考文件OS_DBG_R.C。
第11章 μC/OS-Ⅱ几个版本的区别
(3) V2.76在μC/OS_Ⅱ.H文件中包含了OS_CPU.H和
OS_CFG.H文件,这样做的好处是用户不需要用其它库函数 就能编译μC/OS-Ⅱ。但必须注意的是,必须把这两个文件 从includes.h总头文件中移除,否则会发生重复包含错误。 (4) V2.76增加了一个用于设置信号量的值的函数 OSSemSet(),当置OS_SEM_SET_EN = 1时,函数有效。 (5) 一些对系统功能没有影响的代码的改写和删减这里 不再赘述。 (6) V2.76与V2.62相比没有什么功能上的增加和改变。
第11章 μC/OS-Ⅱ几个版本的区别
第11章 μC/OS-Ⅱ几个版本的区别
11.1 μC/OS-ⅡV2.52与V2.62的区别 11.2 μC/OS-ⅡV2.62与V2.76的区别 11.3 μC/OS-ⅡV2.76与V2.83的区别
第11章 μC/OS-Ⅱ几个版本的区别
11.1 μC/OS-ⅡV2.52与V2.62的区别
Create(),创建一个定时器;OSTmrDel(),删除一个定时器; OSTmrRemainGet(),确定定时器还有多久溢出; OSTmrNameGet(),获取定时器名称;OSTmrStateGet(),获 取定时器当前状态;OSTmrStart(),启动定时器;OSTmr Stop(),暂停定时器。必须注意的是,在中断中不能调用以 上这些函数。另外,对时钟管理器的任务模式的描述如下: 首先,必须置OS_SEM_EN = 1,使得信号量操作有效,因 为时钟管理器需要获取两个信号量。
于提供给用户关于时钟管理器的新功能以及避免编译时报错。 用户可以在应用程序中定义定时器,当定时器溢出时,将会
调用一个函数,它可以执行用户想要执行的某些命令,比如
发信号量等等。而这个函数则完全由用户定义和编写。
第11章 μC/OS-Ⅱ几个版本的区别
(3) V2.83增加了新的时钟管理服务函数,包括:OSTmr
第11章 μC/OS-ຫໍສະໝຸດ 几个版本的区别11.2 μC/OS-Ⅱ2.62与V2.76的区别
V2.62与V2.76之间主要有如下区别: (1) V2.76用OS_CFG_R.H文件来代替V2.62中的 OS_CFG.H文件,并放在与处理器无关部分的“Source”目录 下,建议将其拷贝至用户的工程目录的OS_CFG.H。
第11章 μC/OS-Ⅱ几个版本的区别
(2) V2.62增加了一个用于限制定义事件名称的长度的
配置常量OS_EVENT_NAME_SIZE,信号量、互斥型信号 量、邮箱、消息队列等名称的长度不能大于OS_EVENT_ NAME_SIZE定义的字节数。相应地,增加了两个分别用于 获取和设置事件名称的函数OSEventNameGet()和OSEvent NameSet(),便于调试。 (3) V2.62增加了一个用于限制定义一个事件标志组名称 长度的配置常量OS_FLAG_NAME_SIZE,事件标志名不能 超过OS_FLAG_NAME_SIZE定义的字节数。相应地,增加 了两个分别用来获取和设置事件标志名称的函数OSFlag NameGet()和OSFlagNameSet(),便于调试。
第11章 μC/OS-Ⅱ几个版本的区别
(7) V2.83增加了用于标明用户是否使用μC/OS-View调
试工具的配置常量OS_VIEW_MODULE。 (8) 一些对系统功能没有影响的代码的改写和删减这里 不再赘述。
第11章 μC/OS-Ⅱ几个版本的区别
(4) V2.62增加了一个用于限制定义一个内存分区名称长
度的配置常量OS_MEM_NAME_SIZE,内存分区名不能超 过OS_MEM_NAME_SIZE定义的字节数。相应地,增加了 两个分别用来获取和设置内存分区名称的函数OSMem NameGet()和OSMemNameSet(),便于调试。 (5) V2.62增加了一个用于限制定义用户任务名称长度 的配置常量OS_TASK_NAME_SIZE,用户任务名称的长度 不能超过OS_TASK_NAME_SIZE定义的字节数。相应地, 增加了两个分别用于获取和设置用户任务名称的函数OSTas NameGet()和OSTaskNameSet(),便于调试。
V2.52与V2.62之间主要有如下区别: (1) V2.62增加了OS_DEBUG .C文件。文件中定义了 一系列存储在ROM中的变量,当使用一些内核调试工具时, 这些变量用于表示操作系统的相关运行状态以及配置等信息。
当OS_DEBUG_EN=0时,表示用户不使用内核调试工具,
则不对此文件进行编译。只有当OS_DEBUG_EN = 1时才使 能这些变量。
第11章 μC/OS-Ⅱ几个版本的区别
(9) V2.62增加了配置常量OS_TICK_STEP_EN。如果
置OS_TICK_STEPEN = 1,用户便可以使用μC/OS-View进 行单步调试,通过μC/OS-View提供的命令每执行一次就让
μC/OS-Ⅱ运行一个时钟周期,进而实时观察想要了解的相
相关文档
最新文档