cortex-M3 片上可编程系统原理及应用教学课件第6章 基于PSoC Creator的程序设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用C语言编写GPIO控制程序
--使用C语言指针对GPIO端口控制
6.按照前面的步骤,将设计代码编译。 7.按照前面一节所介绍的步骤,将代码下载到芯片中 ,并观察结果(由于程序执行的速度较快,为了更好的观 察结果,采用断点调试的方式)。
5.一直等待编程成功为止。
注意:由于程序执行的速度较快,建议使用断点调试 的方式,这样能更清楚的看到程序对端口的控制。
下载并调试工程
下面给出对该设计进行调试的步骤,其步骤主要包 括:
1. 在PSoC Creator 2.0主界面主菜单下,选择Debug>Debug选项,打开调试器主界面;
为了观察程序对端口的控制,在工程管理窗口,找到 main_asm.s文件。如下图所示,在该文件的cmp r1,#255;代 码上设置断点(按键盘上的“F9”按键设置断点)。
在Interrupt标签所对应的界面下,完成中断向量的设置;
在DMA标签所对应的界面下,完成DMA相关参数的设置;
汇编语言GPIO控制程序的设计
--查看和配置公共资源
在System标签所对应的界面下,完成Configuration(配置)、 Programming\Debugging(编程\调试)和Voltage Configuration(电 压配置)等相关参数的设置;
图形化的设计入口简化了配置一个特殊元件的任务。 设计者可以从元件库内选择所要求的功能,并且将其放 置在设计中。所有的参数化元件都有一个编辑器对话框 ,允许设计者根据需要对功能进行裁减(定制)。
PSoC Creator软件功能
PSoC Creator软件平台自动的配置和布线I/O到所选 择的引脚,并且为给定的应用产生应用程序接口函数 API。修改PSoC的配置是非常简单的,比如添加一个新 元件,设置它的参数和重新建立(rebuilding)工程等。
在Directives标签所对应的界面下,完成添加命令和相关参数的设 置;
在Flash Security标签所对应的界面下,完成Flash安全性相关参数 的设置;
点击Clock标签栏,如下图所示,查看系统公共时钟 资源的设置,如果需要配置公共时钟资源时,点击图6.4 公共时钟参数界面的某一行,出现下图所示的界面,可 以清楚地看到时钟树,通过该界面可以更清楚地掌握 PSoC5时钟资源的结构。
用C语言编写GPIO控制程序
--使用C语言指针对GPIO端口控制
下面给出使用C语言实现在CY8CKIT-050开发板 上对GPIO的控制步骤:
1.按照图6.1所示,创建一个名字为GPIO_C_POINTER 的类型为Empty PSoC5 Design的工程;
2.在Workspace Explorer窗口下,选择Project‘GPIO_C_ POINTER’,点击鼠标右键,出现浮动菜单,选择Add>New Item....;
用C语言编写GPIO控制程序
3.可移植性 C 语言最初的开发目的之一就是要提供一种高度抽 象,以便可以在多种处理器上应用的语言。这一目标至 今仍然非常重要。 4.代码共享 许多编译器都能在链接时间之后进行优化,这使得 编译器不仅能执行许多人工能完成的优化,而且还能完 成一些人工所不能完成的优化。例如,现在许多编译器 都能搜索不同函数中共有的代码字符串,并将其合并为 一个新的函数。而开发人员是不可能记住每个编译周期 中执行此函数所需要的全部细节。
下载并调试工程
2.板上的PSoC3芯片也可以通过使用MiniProg3( CY8CKIT-002)。当使用MiniProg3编程PSoC3时,使用开 发板上的连接器J3。
注意:MiniProg(CY8CKIT-002)不包含在PSoC3开发 工具中。需要从Cypress另外购买。
下面准备下载代码到芯片,并对设计进行调试。下面 给出实现这一过程的步骤:
3.选择Header File文件类型,并将其命名为GPIO.h;
用C语言编写GPIO控制程序
--使用C语言指针对GPIO端口控制
4.如下图所示,在GPIO.h文件中添加下面的代码;
用C语言编写GPIO控制程序
--使用C语言ቤተ መጻሕፍቲ ባይዱ针对GPIO端口控制
5.打开main.c文件。如下图所示,在该文件中添加 下面的代码。
汇编语言GPIO控制程序的设计
--查看和配置公共资源
汇编语言GPIO控制程序的设计
--查看和配置公共资源
用汇编语言编写GPIO控制程序
参考Cypress公司PSoC5寄存器手册,存储器映射地 址0x40005100对应于端口0的数据输出寄存器。下面将 通过编写汇编语言程序来控制端口0。下面给出编写汇 编语言的步骤:
汇编语言GPIO控制程序的设计
--查看和配置公共资源
汇编语言GPIO控制程序的设计
--查看和配置公共资源
在设计中,根据设计工程的要求选中不同的标签可以 完成:
在Pins标签所对应的界面下,完成逻辑引脚和芯片物理引脚 之间的映射;
在Clocks标签所对应的界面下,完成系统公共时钟资源参数 的设置;
--添加汇编代码
按照Cotex-M3和GNU交叉编译工具链的汇编语言的 书写规则,添加图中的汇编语言代码到汇编模板源文件
(0x4000510A是端口0的宽度配置寄存器的地址)。
用汇编语言编写GPIO控制程序
--在main.c中添加函数调用
在Workspace Explorer窗口下,选择main.c文件,并
2.在PSoC Creator 2.0软件的主界面菜单下,选择 File->New->Project...;
3. 按下图设置参数:
汇编语言GPIO控制程序的设计
选择工程类型:Empty PSoC5 Design; 选择工程的路径:E:\cortex-M3(可修改) 并输入工程名:GPIO(可修改) 然后点击“OK”按钮;
PSoC Creator软件功能
其中:
系统注解功能能帮助设计者,详细描述描述PSoC芯片外所 使用的器件和PSoC芯片之间的关系。
静态时序分析功能帮助设计者了解设计中,数字逻辑部分 的各种时序关系和系统的功能性能。
汇编语言GPIO控制程序的设计
1.在计算机上的桌面上,选择开始->所有程序>Cypress->PSoC Creator 2.0->PsoC Creator,打开PSoC Creator软件;
下面给出编写汇编语言的步骤:
用汇编语言编写GPIO控制程序
--添加汇编源文件
在编写汇编语言程序前,需要添加汇编源文件到工程 中,下面给出添加汇编源文件的步骤:
1.如图所示,在Workspace Explorer窗口下,选择 Project‘GPIO’,点击鼠标右键,出现浮动菜单,选择Add>New Item...;
在开发的任何阶段,设计人员都能很自由的修改硬 件配置,甚至是目标处理器。设计者可以将应用修改 到新的目标上(硬件和软件),甚至是从8位平台移植 到32位平台上(只需要选择新的设备,并进行重新的 建立)。设计者也可以修改C编译器和进行性能评估。
PSoC Creator软件功能
PSoC Creator软件平台的特点主要有:
1.准备Cypress提供的CY8CKIT-050开发板; 2.在板子上,用导线将P0[0:7]端口中的任意4个端 口和板子上的四个LED灯进行连接(为了观察程序对端口 的控制)。
下载并调试工程
3.用下载电缆连接目标系统和计算机的USB接口( 可选择前面两种方法中其中的一种);
4.在PSoC Creator主界面下选择Debug->Program,在 PSoC Creator输出窗口显示如图所示的信息,表示正在编 程和编程成功信息(第一次使用,需要设置编程环境)。
汇编语言GPIO控制程序的设计 --查看和配置公共资源
在设计开始前,进行全局公共资源的设置(也可以 在设计结束时,再进行全局资源的设置),在本节中, 为了介绍设计流程,首先进行公共资源的查看和一些必 要的设置。
如左图所示,在Workspace Explorer 界面下,选择Source标签栏,在该标 签栏下,展开Project‘GPIO’,找到 GPIO.cydwr文件,并打开该文件。
下载并调试工程
5.调试完毕后,退出调试器界面。 6.保存并关闭工程。 除了编写汇编语言文件,然后通过C进行调用的方法 外,还可以通过在C语言中使用内嵌汇编语言的方法实 现。下面给出在C程序中使用内嵌汇编语言的步骤: 1. 在C源文件中,将汇编代码写在指令“#pragma asm” 和“Pragma endasm”中间。 2. 在主界面下的Project Explorer子窗口下,鼠标右键 点击源文件,出现Build Settings界面。 3. 在Compiler选项界面下,将Inline Assembly设置为 True,即使能在C文件中内嵌汇编语言。
按照图添加代码到main.c文件中,表示通过C语言调用 汇编语言所编写的CONTROL_GPIO()函数。
在main.c中添加函数调用
代码添加完成后,在PSoC Creator的主菜单下选择 Build->Build GPIO,对整个设计进行软件和硬件编译 处理。
下载并调试工程
本书所有的设计均在Cypress提供的CY8CKIT-050硬 件开发平台上实现。基于Cypress提供的平台,可以采用 下面的两种方式下在程序到目标系统中:
第6章 基于PSoC Creator的程序设计
何宾 2012.05
PSoC Creator软件功能
PSoC Creator2.0 (以下简称PSoC Creator)是最先进 的集成开发环境(Integrated Development Environment, IDE),带有创新性的图形设计编辑器,构成独特而强大 的硬件/软件协同设计环境。
用C语言编写GPIO控制程序
1.变量共享 一些 8 位处理器尚无有效的机制来存取堆栈上的变 量。一般的解决方案是创建调用树,并在相互不进行 调用的函数间共享变量。在汇编程序中要想保持这种 结构相当困难,且容易出错。 2.可靠性 任何从事软件或硬件开发工作的人员都能读懂C语 言程序。如果您需要将代码交给其它开发人员处理, 他们无需掌握那些为发挥汇编语言的最大效率而需要 的所有技巧便可立即开始修改代码。
下载并调试工程
2. 如下图所示,在主界面的工具栏下,选择不同的 运行按钮,用于控制程序的运行。
3. 如下图所示,观察Cortex-M3 CPU内核寄存器的 变化情况。
下载并调试工程
5.如图下图所示,在上图的窗口下,选择Local、 Menmory标签,就可以查看本地变量和系统存储器的内容 。
下图给出了程序运行时,存储器空间0x40005100的内 容变化。
用汇编语言编写GPIO控制程序
--添加汇编源文件
2.出现如图所示的界面,选择GNU ARM Assembly File。修改汇编源文件的名字为:main_asm.s,点击 “OK”按钮。
用汇编语言编写GPIO控制程序
--添加汇编代码
如下图所示,出现汇编源文件模版。
用汇编语言编写GPIO控制程序
1.开发板默认的编程接口是一个基于USB的板上编 程接口。当给PSoC5编程时,将USB电缆插到开发板的 编程USB连接器J1接口。
当使用板上编程器时,不需要外部的12V电源或9V的 电池电源。用于编程的USB电源可用于开发板的供电。
如果板子已经从其它地方供电的话,插入USB编程接 口不会损坏开发板。
集成了原理图捕获功能用于设备配置; 可供选择的丰富的元件IP核资源; 集成了源代码编辑器; 内置调试器; 支持自定义元件创建(设计重用)功能; 系统注解(Annotation)设计功能; 静态时序(Static Timing Anlysis,STA)分析功能; PSoC 3 编译器 - Keil CA51(无代码大小限制); PSoC 5 编译器 - CodeSourcery 的 Sourcery G Lite 版本
汇编语言GPIO控制程序的设计 --查看和配置公共资源
如下图所示,该文件界面的正中间是所选择芯片 的类型和引脚分布。下面是Pin(引脚)标签、Clock( 时钟)标签、Interrupts(中断)标签、DMA标签、 System(系统)标签、Directive(指令)标签和Flash Security(Flash安全性)标签。
相关文档
最新文档