嵌入式系统原理与应用课件:EMB-5 PSoC Creator软件与uCOS3系统.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《嵌入式系统原理与应用课件:EMB-5 PSoC Creator软件与uCOS3系统.ppt》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式系统原理与应用课件:EMB-5 PSoC Creator软件与uCOS3系统 嵌入式 系统 原理 应用 课件 EMB Creator 软件 uCOS3
- 资源描述:
-
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
展开阅读全文