ImageVerifierCode 换一换
格式:PPT , 页数:92 ,大小:1.18MB ,
文档编号:2040519      下载积分:15 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-2040519.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(罗嗣辉)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(嵌入式系统原理与应用课件:EMB-5 PSoC Creator软件与uCOS3系统.ppt)为本站会员(罗嗣辉)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

嵌入式系统原理与应用课件:EMB-5 PSoC Creator软件与uCOS3系统.ppt

1、第5章 PSOC Creater软件与mC/OS3系统 第1节 PSOC Creater软件功能 第2节 汇编语言设计GPIO控制程序 第3节 C语言设计GPIO控制程序 第4节 中断服务程序的设计 第5节 mC/OS3操作系统概述 第6节 mC/OS3操作系统内核与功能第5章 PSOC Creater软件与mC/OS3系统 第1节 PSOC Creater软件功能 第2节 汇编语言设计GPIO控制程序 第3节 C语言设计GPIO控制程序 第4节 中断服务程序的设计 第5节 mC/OS3操作系统概述 第6节 mC/OS3操作系统内核与功能PSOC Creater简介 PSoC Creator

2、是集成开发环境(IDE)v 图形设计编辑器,构成强大硬件/软件协同设计环境。v 图形化设计入口简化配置特殊元件的任务。 使用者从元件库内选择要求功能,并将其放在设计中。 参数化元件有编辑器对话框,根据需要对功能裁减(定制)。 自动配置/布线I/O到选择引脚,生成应用程序接口函数(API)。 使用者在任何阶段自由修改硬件配置,甚至是目标处理器。v 应用修改到新目标(硬件和软件),v 8位平台移植到32位平台(只需选择新设备,并进行重建立)。v 修改C编译器和进行性能评估。PSOC Creater功能与特点 特点:v 集成原理图捕获功能配置设备;丰富的元件IP核资源;v 集成源代码编辑器;内置调试

3、器;v 自定义元件创建(设计重用)功能;系统注解设计功能;v 静态时序分析功能; PSoC5编译器:CodeSourcery的Sourcery G Lite版v 系统注解功能帮助设计者,详细描述PSoC芯片外器件和PSoC芯片间的关系。v 静态时序分析功能帮助设计者了解设计中数字逻辑部分的时序关系和系统功能的性能。第5章 PSOC Creater软件与mC/OS3系统 第1节 PSOC Creater软件功能 第2节 汇编语言设计GPIO控制程序 第3节 C语言设计GPIO控制程序 第4节 中断服务程序的设计 第5节 mC/OS3操作系统概述 第6节 mC/OS3操作系统内核与功能汇编语言设计

4、GPIO控制程序 计算机桌面,选择开始 - 所有程序 - Cypress - PSoC Creator x.x - PSoC Creator,打开PSoC Creator;v 主界面选择File - New- Project.;设置参数 选择工程类型:Empty PSoC5 Design; 选择工程路径:E:Cortex-M3 输入工程名:GPIO 点击OK按钮;查看和设置公共资源界面 设计开始前设置全局公共资源(也可结束时设置)。v 设计流程:首先查看和设置公共资源。 Workspace Explorer选择Source标签,展开Project GPIO,找到 GPIO.cydwr文件并打开

5、。查看和设置公共资源界面v 文件界面正中是选择芯片类型和引脚分布。 Pin(引脚)标签 Clock(时钟)标签 Interrupts(中断)标签 DMA标签 System(系统)标签 Directive(指令)标签 Flash Security标签。查看和设置公共资源 根据设计工程的要求选中不同标签:v Pins标签:完成逻辑引脚和芯片物理引脚间的映射;v Clocks标签:完成系统公共时钟资源参数的设置;v Interrupt标签:完成中断向量的设置;v DMA标签:完成DMA相关参数的设置;v System标签:完成Configuration(配置),Programming/ Debugg

6、ing(编程/调试),Voltage Configuration(电压配置)等参数设置;v Directives标签:完成添加命令和相关参数的设置;v Flash Security标签:完成Flash安全性相关参数的设置。查看和设置公共资源 点击Clock标签,查看系统公共时钟资源的设置查看和设置公共资源v 若配置公共时钟资源,点击公共时钟参数界面的某行,出现图示界面,可清楚看到时钟树,可更清楚地掌握PSoC5时钟资源的结构。编写GPIO汇编语言控制程序 参考Cypress公司PSoC5寄存器手册,存储器映射地址0 x40005100对应端口0的数据输出寄存器。v 通过编写汇编语言程序来控制端

7、口0。v 编写汇编语言的步骤: 添加汇编源文件 在main.c中添加函数调用 下载并调试工程 编写汇编语言程序前,需要添加汇编源文件到工程中,添加汇编源文件的步骤: 添加汇编源文件 Workspace Explorer窗口,v 选择Project GPIO,v 点击鼠标右键,出现浮动菜单,v 选择Add-New Item.; 添加汇编源文件 出现图示界面,v 选择GNU ARM Assembly File。v 修改汇编源文件的名字为:main_asm.s,v 点击“OK”按钮。 添加汇编源文件 出现汇编源文件模版; 添加汇编源文件 按Cotex-M3和GNU交叉编译工具链汇编语言规则,添加图中

8、汇编语言代码到汇编模板源文件 在main.c中添加函数调用 Workspace Explorer选择main.c文件,添加代码到main.c中,v C语言调用汇编语言编写的CONTROL_GPIO()函数。v 代码添加完成在PSoC Creator主菜单选择Build-Build GPIO,v 对整个设计进行软件和硬件编译处理。 下载并调试工程 所有设计均在CY8CKIT-050硬件开发平台上实现。v 采用2种方式下载程序到目标系统中: 默认编程接口是板上USB编程接口。给PSoC5编程时,USB电缆插到开发板编程USB连接器J1。 使用板上编程器,无需12V外部电源或9V电池。编程USB电源

9、为开发板供电。 若开发板已从其它地方供电,插入USB编程接口不会损坏开发板。 也可用MiniProg3(CY8CKIT-002)。使用MiniProg3编程PSoC5时,使用开发板连接器J3。 下载代码到芯片的步骤 准备CY8CKIT-050开发板;用杜邦线将P00:7端口任意4个端口和板子上4个LED灯连接(观察程序对端口的控制)。 下载电缆连接目标系统和计算机USB接口; PSoC Creator界面下选择Debug - Program,PSoC Creator输出窗口显示图示信息,表示正在编程和编程成功信息(第1次使用,需设置编程环境)。 直至编程成功。 下载并调试步骤 选择Debug-

10、Debug打开调试器界面;观察程序对端口控制,工程管理窗口找到main_asm.s文件。设置该文件代码断点。 主界面的工具栏,选择不同运行按钮,控制程序运行。 观察Cortex-M3 CPU内核寄存器的变化情况。 下载并调试步骤 选择Local、Menmory标签, 查看本地变量和系统存储器内容。 调试完毕后,退出调试器界面。 保存并关闭工程。 下载并调试工程 除汇编语言编写文件,通过C调用的方法外,v 还可在C语言中使用内嵌汇编语言的方法实现。v 在C程序中使用内嵌汇编语言的步骤: C源文件中,汇编代码写在指令#pragma asm和Pragma endasm间。 主界面的Project E

11、xplorer子窗口,鼠标右键点击源文件,出现Build Settings界面。 Compiler选项界面,将Inline Assembly设置为True,使能C文件中内嵌汇编语言。第5章 PSOC Creater软件与mC/OS3系统 第1节 PSOC Creater软件功能 第2节 汇编语言设计GPIO控制程序 第3节 C语言设计GPIO控制程序 第4节 中断服务程序的设计 第5节 mC/OS3操作系统概述 第6节 mC/OS3操作系统内核与功能C语言程序设计 大多数嵌入式程序员认为汇编语言的编程能力始终比C编译器要好。还认为使用汇编语言重写所有C代码。v C语言编译器实际提供的特性达到多

12、数嵌入式程序员的软件编程能力,优势:变量共享;可靠性;可移植性;代码共享 变量共享v 某些 8 位处理器尚无有效机制存取堆栈变量。 常规解决方案是创建调用树,在相互不进行调用的函数间共享变量。 汇编程序中保持此结构相当困难,容易出错。 C语言程序设计 可靠性v 任何从事软件或硬件开发工作的人员都能读懂C语言程序。v 若需将代码交给其它人员开发,无需掌握发挥汇编语言的最大效率的所有技巧,立即开始修改代码。 可移植性v C 语言最初目的是提供1种高度抽象,以便在多种处理器上应用的语言。v 此目标至今仍然非常重要。C语言程序设计 代码共享v 编译器链接时间后优化,不仅能执行人工优化,还能实现人工无法

13、完成的优化。v 编译器搜索不同函数共有代码字符串,将其合并为新函数。开发人员无法记住每个编译周期执行此函数的全部细节。C语言指针控制GPIO端口 创建名字GPIO_C_POINTER类型Empty PSoC5 Design工程; Workspace Explorer窗口,选择Project GPIO_C_ POINTER,点击鼠标右键,出现浮动菜单,选择Add-New Item.; 选择Header File文件类型,命名GPIO.h; 在GPIO.h文件中添加下面的代码;C语言指针控制GPIO端口 打开main.c文件。在该文件中添加代码。C语言指针控制GPIO端口 按照前述步骤,将设计代码

14、编译。 按照上一节的步骤,将代码下载到芯片中,并观察结果。v 程序执行速度较快,为更好的观察结果,采用断点调试。v 在 *address1=i;行设置断点。观察程序运行时LED灯变化。 保存并退出工程。调用API函数控制GPIO端口 创建名字GPIO_C_API类型为Empty PSoC5 Design的工程; 添加并配置数字引脚到设计:v 选择Cypress标签栏, 栏下窗口列出各种IP核资源。 在列表找到Ports and Pins选项, 展开找到Digital Ouput Pin条目。调用API函数控制GPIO端口 用鼠标将该条目拖拽到设计原理图界面。调用API函数控制GPIO端口 鼠标

15、双击该引脚符号,打开配置界面设置:v Name:Pin_1;Number of Pins:8v 选中Digital Outpt选项, 不选中HW Connectionv 选中Show Annotation Terminal Mapping标签栏设置:v 选中Display as Busv 其它按默认参数设置 点击“OK”按钮,关闭属性设置界面。构建完整的硬件设计结构 PSoC Creator注解(Annotation)特性,使得在原理图界面内v 不但清楚给出PSoC器件内各个模块之间的联系,v 而且清楚地描述出PSoC器件外部元器件和PSoC的连接关系,v 可以帮助设计者更加清楚地描述所构建的

16、硬件系统的结构。 设计中,将Pin_1的7位输出分别连接到CY8CKIT-050开发板的LED灯,为描述这个连接关系,将使用注解工具进行描述。v 给出实现此描述的步骤 构建完整的硬件设计结构 主界面中间的绘图列中,选择连线按钮 ,按照图示界面,在Pin_1引脚后面连接1根线。 主界面右侧窗口选择Annotation标签, 给出各种注解符号。找到Diodes条目, 展开选择LED条目,用鼠标将该符号 拖到原理图界面中。构建完整的硬件设计结构 找到Passive条目,并展开,选择Resistor条目,并用鼠标将该符号拖到原理图界面中。构建完整的硬件设计结构 点击鼠标右键,对注解符号进行旋转,按图示

17、位置放置这2个符号。构建完整的硬件设计结构 鼠标双击电阻注释符号,打开配置界面,改Value属性值为100。构建完整的硬件设计结构 复制,粘贴2个符号8次。完成注解符号的添加。构建完整的硬件设计结构 Annotation标签栏找到Power条目,展开选择Ground. 构建完整的硬件设计结构 将其添加到原理图界面中。构建完整的硬件设计结构 选择连线工具,完成电阻、LED和地注解符号的连接。 构建完整的硬件设计结构 选择连线工具,准备连接电阻到总线上。首先选择连线工具将R_1连列到总线上。构建完整的硬件设计结构 鼠标双击该连线,打开图示界面,进行参数设置:v 不选中Use computed na

18、me and width;v Signal Name不选中Specify Full Name;v Indices选择Bit将Index置0;构建完整的硬件设计结构 点击OK按钮。关闭属性设置界面。 重复前3步,将R_2、R_3、R_4、R_5、R_6、R_7、R_8分别连接到总线上,并设置,Index设置为1,2,3,4,5,6和7。 上述步骤完成后,获得的完整硬件设计。 添加引脚约束 PSoC Creator主界面左侧Workspace Explorer窗口选择打开GPIO.cydwr文件。 通过Pin栏的下拉框,将Pin_17:0逻辑引脚分配到芯片的P07:0端口。下载并调试工程 准备CY

19、8CKIT-050开发板; 将开发板LED灯分别和P00P07引脚连接; 连接USB电缆到PC机和CY8CKIT-050开发板的J1 USB接口。 给开发板上电; 按照前述步骤,下载代码到目标系统中,并按键,观察LED灯的变化情况。PSOC5 SRAM内函数定位 创建新的源文件,名字Func_Ram.c包含在SRAM中执行的代码和给函数的段的属性设置,可在链接器中引用,并放在RAM中指定的位置。 _attribute_ (section(.ramcode) void ramFunc(void)PSOC5 SRAM内函数定位 在main.c中添加函数调用。在main.c中,所有ramFunc()

20、函数中所使用的变量,按如下定义: _attribute_ (section(.ramcode) cystatus status; _attribute_ (section(.ramcode) uint8 rowFinalDataSIZEOF_FLASH_ROW; _attribute_ (section(.ramcode) uint8 rowBufferSIZEOF_FLASH_ROW + SIZEOF_ECC_ROW;_attribute_ (section(.ramcode) uint16 rowAddress1;_attribute_ (section(.ramcode) uint8 r

21、owDataOffset;_attribute_ (section(.ramcode) uint16 rowDataEnd;_attribute_ (section(.ramcode) uint16 index1;_attribute_ (section(.ramcode) uint16 index2;_attribute_ (section(.ramcode) uint8 return_status;_attribute_ (section(.ramcode) uint8 Write_success_Flag;_attribute_ (section(.ramcode) uint16 cou

22、ner;PSOC5 SRAM内函数定位 创建定制链接脚本文件。v 链接脚本文件(Generated_Source/PSoC5/cm3gcc.ld)复制到工程cydsn文件夹,其命名为cm3gcc_custom.ld。v 添加cm3gcc_custom.ld到工程中。工程Build Settings属性对话框的Linker,设置定制链接脚本文件为cm3gcc_custom.ld。PSOC5 SRAM内函数定位 cm3gcc_custom.ld文件中添加下面的部分到SECTIONS命令中。PSOC5 SRAM内函数定位 建立工程,ramFunc()在SRAM空间内。第5章 PSOC Creater

23、软件与mC/OS3系统 第1节 PSOC Creater软件功能 第2节 汇编语言设计GPIO控制程序 第3节 C语言设计GPIO控制程序 第4节 中断服务程序的设计 第5节 mC/OS3操作系统概述 第6节 mC/OS3操作系统内核与功能中断服务程序的设计 中断是MCU非常重要的CPU与外设数据交换的方法,v 中断服务程序设计是MCU程序设计中需要掌握的内容。 实例说明中断服务程序的设计过程。v 创建和配置工程v 添加IP核资源到设计v IP和参数配置和连接v 中断服务程序的设计v 下载并调试工程创建和配置工程 计算机桌面,选择开始 - 所有程序 - Cypress- PSoC Creato

24、r- PSoC Creator。打开PSoC Creator软件; PSoC Creator主界面,选择File- New- Project.;在该界面:v 选择工程类型:Empty PsoC5 Design;v 选择工程的路径:E:Cortex-M3(可修改)v 并输入工程名:interrupt(可修改)v 然后点击“OK”按钮;添加IP核资源到设计 PSoC Creator主界面右边Component Catalog界面,找到Ports and Pins项展开: v 找到Digital Input Pinv1.60 拖拽到原理图界面;v 找到Digital Output Pinv1.60v

25、 拖拽到原理图界面; Component Catalog界面 找到System项展开:v 找到Interruptv1.50 拖拽到原理图界面.添加IP核资源到设计 添加IP到原理图后的界面数字输入引脚配置 双击原理图界面数字输入引脚打开配置界面: v Name:input1;Pins标签找到Type标签,界面参数配置:v Number of Pins :1(1位数字输入引脚);v 取消HW Connection,无其它硬件连接;Pins标签找到General标签,界面参数配置:v Drive Mode:Resistive Pull Up(引脚驱动模式电阻上拉);v Initial State:

26、High(1)(数字输入引脚的初始状态为高1);v Pins标签找到Input标签,界面参数配置 :v Threshold:CMOS(门限为CMOS电平);v Interrupt:Falling Edge(输入引脚出现下降沿产生中断);v 其余按默认参数设置。数字输入引脚配置图数字输出引脚参数配置 双击原理图界面数字输出引脚打开配置界面。参数配置:v Name:output1 ;Pins标签找到Type标签栏,界面参数配置:v Number of Pins :1(1位数字输出引脚);v 取消HW Connection,无其它硬件连接;Pins标签找到General标签,界面参数配置:v Dri

27、ve Mode:Strong Drive(引脚驱动模式强驱动);v Initial State:Low(0)(引脚的初始状态为低0;v 其它按默认设置。中断控制器参数设置按照默认参数设置。数字输出引脚参数配置图IP核的连接 IP核配置完成后,使用PSOC Creator提供的连线工具完成IP核间的连线。 引脚配置v 完成系统IP连接后,使用PSoC Creator的引脚映射功能,完成引脚位置的确定,实现这个过程的步骤:引脚配置 Workspace Explorer窗口选择interrupt.cydwr文件; 用鼠标点击Pin标签栏; 如下界面,输入input1和output1引脚所对应的位置P

28、07和P61。添加中断程序代码 main.c添加代码, 主程序所有代码。v 定义全局数据类型bit flag;使用宏定义CYGlobalIntEnable,使能全局中断;调用isr_1_Start()启动中断控制器;添加中断程序代码 无限for循环判断标志flag,在中断服务程序中设置。flag=1时,切换output1输出v 先调用函数output1_Read(),得到输出引脚output1的状态;v 后取反(output1_Read();再把取反值通过调用函数output_Write()写到output1输出引脚。 isr_1.c中断服务程序中添加代码v 首先找到isr_1.c文件。 Wo

29、rkspace Explorer界面展开Project interrupt,找到Gernerated_Source,展开; 展开PSoC5;PSoC5找到isr_1,展开,看到isr_1.c文件。 添加代码到isr1.c文件。添加中断程序代码添加中断程序代码 先添加包含头文件#include ; 再添加extern bit flag;表示flag为外部bit型变量; 找到CY_ISR(isr_1_Interrupt),在程序中添加1行代码flag=1;表示中断服务程序CY_ISR响应中断后,设置flag标志为1; 添加input1_INTSTAT,表示清除中断标志寄存器。下载并调试工程 准备C

30、Y8CKIT-050开发板; 开发板的按键与P61引脚连接,板上LED灯连接到P07; 连接仿真器到目标系统JTAG端口和计算机USB接口; 给开发板上电; 按照前述步骤,下载代码到目标系统中,并按键,观察LED灯的变化情况。第5章 PSOC Creater软件与mC/OS3系统 第1节 PSOC Creater软件功能 第2节 汇编语言设计GPIO控制程序 第3节 C语言设计GPIO控制程序 第4节 中断服务程序的设计 第5节 mC/OS3操作系统概述 第6节 mC/OS3操作系统内核与功能mC/OS-3操作系统概述 实时操作系统(RTOS)包含实时内核和其它高级服务:文件管理,协议栈,图形

31、用户接口(GUI)和其它元件。很多额外服务都围绕着I/O设备。 操作系统是嵌入式系统中不可缺少的部分。v 应用1:要求读按键值,并更新显示设备:通过1个循环实现。v 应用2:信号采集系统,采样频率40Hz,FIR滤波器处理,结果由显示器显示。经UART接口,接收上位机的控制命令。 使用多个中断服务程序处理;中断服务程序编写大量的服务处理程序;存在中断服务程序,无法控制主程序实时性。 最佳解决方案是使用RTOS:将每个活动作为1个单独任务。代码简单清楚,容易修改。mC/OS-3操作系统概述 嵌入式应用中常用实时操作系统(RTOS):v 典型应用有多个任务,按照特定序列或安排执行。v 随着控制任务

32、增加,人工组织任务和分时享用要求变得困难。复杂度增加时,程序响应能力和性能降低。v 分解任务为单独应用程序,1个操作系统实现变得更加直观。v 内核允许在抽象层上编写代码,而不是在微控制器级独立代码上编写代码。v 很多常规应用程序依赖于操作系统服务,如文件系统,时间管理等。mC/OS-3操作系统概述 Micrium公司提供整套RTOS元件,包括:v C/FS(嵌入式文件系统)v C/TCP-IP(TCP/IP协议栈)v C/GUI(图形用户接口)v C/USB(USB设备主机和OTG协议栈)v 其它元件。 这些元件中,大多数可独立运行。v 除C/TCP-IP外,实时内核并不要求在1个应用程序中使

33、用元件。可挑选应用程序所需使用的元件。mC/OS-3操作系统概述 C/OS操作系统1992年首次发布,多年演化,最新的C/OS-3(2009年首次发布)是1个可扩展的、可固化、强占的实时内核,管理大量任务。v C/OS-3是第3代内核,提供现代RTOS期望的所有服务 资源管理、同步、任务间通信和其它。v 提供其它实时内核中没有的独特服务。 提供实时运行时执行性能测量的能力, 给任务直接发信号或发送消息和等待处理多个内核目标(如:信号量和消息队列)。mC/OS-3操作系统特征 源代码v 向授权(免费和付费)的用户提供ANSI-C源代码格式。 直观的应用程序接口(Application Progr

34、amming Interface - API)v 非常直观,熟悉使用的一致的编码约定,容易预测出要求服务的函数调用,甚至预测需要的参数。 抢占多任务v 抢占多任务的内核,C/OS-III总是运行最重要的程序。mC/OS-3操作系统特征 同等优先级的轮询调度v 多个任务以相同优先级运行。同等优先级任务准备运行时,优先级是最重要的级别,在1个用户的指定时间(时间片)内,C/OS-III运行每个任务。v 每个任务定义各自时间片,若不要求全部时间片,任务放弃CPU,将CPU提供给相同优先级的其它任务。 较低的中断禁止时间v C/OS-3有大量的原子访问的内部数据结构和变量。v 为保证这些,锁定调度器而

35、不是禁止中断,保护临界区。v 可在很短时间内禁止中断。使得C/OS-3响应最快中断源。mC/OS-3操作系统特征 确定性v 对中断响应是确定的。提供大多数服务的执行时间是确定的。 可扩展性v 根据应用调整代码和数据空间。编译时由OS_CFG.H #define定义的40个参数,执行添加/去除特性,存在于C-OS/III源代码中。运行时也执行传递到C/OS-III服务参数检查。v 验证用户无传递NULL指针,未从ISR中调用任务级服务,在可允许参数范围内指定选项有效。v 可禁止这些检查,进一步减少代码占用空间,提高性能。扩展各种应用和工程中。mC/OS-3操作系统特征 可移植性v 可移植到各种C

36、PU结构中。 可固化v 专用于嵌入式系统,和应用程序一起固化到ROM中。 可运行时配置v 允许用户在运行时配置RTOS。v 所有内核的对象比如:任务,堆栈,信号量,事件标志组,消息队列,消息数量、互斥信号量、内存划分和定时器,都由用户在运行时分配。防止编译时过度分配资源。mC/OS-3操作系统特征 不限数量的优先级v 支持无限制优先级数量。多数应用配置(32-256)个优先级。 不限数量的内核对象v 允许任意数量的任务、信号量、互斥信号量、事件标志、消息队列、定时器和存储器划分 。运行时用户分配所有的所有的内核对象。 服务v 提供所有高端实时内核的期望服务,比如:任务管理、时间管理、信号量、时

37、间标志、互斥、消息队列、软件定时器、固定大小的存储器池。mC/OS-3操作系统特征 互斥的信号量v 提供资源管理的互斥。互斥是特殊信号量,有内建的优先级继承,消除无界的优先级反转。可对互斥嵌套访问,1个任务可得到最多256次的相同互斥。 嵌套的任务停止v 允许任务停止自身或其它任务。停止任务不允许执行,直到由其它任务继续进行。停止嵌套256级深度。1个任务停止其它任务最多256次。任务必须继续相同次数,变成CPU选择的可运行的任务。mC/OS-3操作系统特征 软件定时器v 定义任何数量的一次性和/或周期性的定时器。定时器向下计数,这样执行用户定义的行为,直到计数到0。每个定时器可以有它自己的行

38、为,如果定时器是周期的重新加载,每当计数到0,则执行重新加载的行为。 挂起多个对象v 允许同一时间多个事件时,应用程序等待。v 一个任务等待发布多个信号量和/或者消息队列。只要发生一个事件,则唤醒等待的任务。mC/OS-3操作系统特征 任务信号v 允许1个ISR或任务直接给任务发送信号。v 避免创建中间的内核对象,如:信号量或事件标志仅向任务发送信号,导致更好性能。 任务消息v 允许1个ISR或者任务直接给任务发送信号。v 避免创建和使用消息队列,导致更好性能。mC/OS-3操作系统特征 任务寄存器v 每个任务有1个用户定义数量的任务寄存器。v 任务寄存器与CPU寄存器不同。v 任务寄存器保持

39、errno类型变量,ID号,中断禁止每个任务的时间测量。 错误检查v 验证未传递NULL类型的指令,用户未从ISR调用任务级服务,允许范围内,指定参数有效。v 传递到正确对象的句柄是服务参数的一部分,操作期望对象,等。每个API函数返回1个关于函数调用结果的错误代码。mC/OS-3操作系统特征 内建性能测量v 内建特性测量每个任务的实行事件,每个任务的堆栈使用,1个任务执行的次数,CPU的使用,ISR到任务和任务到ISR的响应时间,某列入口的峰值个数,中断禁止和每个任务的调度器锁定时间。 易优化v 根据CPU结构优化。改变使用的数据类型,以更好利用CPU自身的字大小。v 优先级解决算法使用汇编

40、语言编写,以便从特殊指令中获益,如:位设置和位清除,以及计数到0,或找到第一个1指令。mC/OS-3操作系统特征 防止死锁v 所有待处理服务包含超时,帮助避免死锁。 任务级滴答管理v C/OS-III内,由1个任务实现时钟滴答管理器,此任务接收ISR触发。v 由任务管理延迟和超时,大大减少中断延迟。v C/OS-III使用哈希差值列表机制,降低处理任务延迟和超时的开销数量。mC/OS-3操作系统特征 用户定义的钩子v 端口和应用程序编程人员定义钩子函数,系统调用。钩子的定义为函数,允许扩展C/OS-3的功能。上下文切换时,调用1个钩子,创建1个任务时,调用另1个钩子,当删除1个任务后,去调用另

41、1个钩子,等等。 时间戳v 时间测量,要求1个16位或32位空闲的计数器。运行时读此计数器,测量某个事件的时间。如: 1个ISR给1个任务发布1个消息时,自动保存时间戳计数器,作为发布消息的一部分。 当接收方,接受到1个消息时,给接收方提供时间戳。通过读当前时间戳,确定接收消息所用的时间。mC/OS-3操作系统特征 内建的可识别内核的调试器v 允许内核可识别调试器击中1个断点时,以用户友好方式,检查和显示变量和数据结构。v 代替1个环境的静态察看,可识别内核调试器支持C/Probe运行时显示相同的信息。 对象名字v 每个内核的对象都有1个名字与之关联。v 识别分配的对象。给任务、信号量、互斥、

42、1个事件标志组、1个消息队列、1个存储分配和1个定时器分配ASCII名字。v 对象的名字可是任意的长度,以Null 结束。mC/OS-3操作系统构成mC/OS-3操作系统构成 构成工程的应用程序代码或者工程文件。v 方便起见简称为APP.C和APP.H,1个应用可包含任意数量的文件,此类文件并不称为APP.*。v 应用程序的典型代码为1个主程序main()。 半导体制造商通常提供库函数功能访问CPU或MCU的外设。v 此类库非常有用。 板级支持包(Board Support Package - BSP)v 典型为写入目标板的外设接口代码。v 此类代码打开或关闭LED灯,打开或关闭继电器,v 读

43、开关、温度传感器的代码,等。 mC/OS-3操作系统构成 C/OS-III代码(独立于CPU)v 用高度可移植的ANSI C编写,仅C/OS-III的授权人使用。 C/OS-III代码(适配指定CPU结构)v 称为一个端口。 喜欢封装CPU的功能。v 此类文件定义禁止和使能中断的函数,v CPU_? 数据类型独立于CPU和编译器,和其它更多的函数。mC/OS-3操作系统构成 C/LIB由系列源文件工程,提供通用函数,如存储器拷贝,字符串和ASCII相关的函数。v 偶尔代替编译器提供的stdlib函数。v 提供函数保证充分从1个应用移植到另1个应用,或从1个编译器移植到另1个编译器。v C/OS

44、-III不使用这些文件,然而C/CPU使用。 C/OS-III配置文件定义C/OS-III的特性,已包含在应用中,指定C/OS-III中期望使用的某个变量或者数据结构的大小。v 空闲任务堆栈的大小,嘀嗒速度、消息池的大小等。第5章 PSOC Creater软件与mC/OS3系统 第1节 PSOC Creater软件功能 第2节 汇编语言设计GPIO控制程序 第3节 C语言设计GPIO控制程序 第4节 中断服务程序的设计 第5节 mC/OS3操作系统概述 第6节 mC/OS3操作系统内核与功能mC/OS-3操作系统内核与功能 单任务和多任务处理 临界区 任务管理 准备列表 调度 上下文切换 中断管理mC/OS-3操作系统内核与功能 等待列表 时间管理 定时器管理 资源管理 消息传递 多对象等待处理 存储器管理

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|