OHY研修笔记之“物联网应用技术”01CC2530单片机开发技术开发环境搭建与快速入门攻略广东职业技术学院2017年4月15日【引言】在本次笔记中讲述2部分内容:第一部分:CC2530的开发环境搭建。
第二部分:建立第一个工程-LED跑马灯程序。
通过这两部分的学习,完成掌握了CC2530单片机的开发流程,通过一个LED 跑马灯程序,快速掌握IAR开发环境下CC2530单片机的工程创建、代码编写、程序编译、仿真调试和代码烧写,达到快速入门的目的。
第一部分:CC2530的开发环境搭建由于CC2530使用的是8051内核,需要选用IAR的IAR Embedded Workbench for 8051版本,作为开发环境。
这里需要安装四个内容:IAR软件、CC Debugger 仿真器驱动、烧写软件SmartRF Flash Programmer和Z-Stack协议栈。
一、IAR开发环境的安装1、打开“IAR-EW8051-8101”文件中的“ew8051”文件夹,运行setup.exe程序,安装8.10.1版本的IAR软件,点击下一步即可License输入界面。
2、因为在要输入License的对话框中要输入序列号,先运行“IAR-EW8051-8101”文件中keygen.exe软件,生成相关的信息。
3、先输入License number,然后下一步。
4、再输入对应的License Key,点击下一步。
5、选择Custom安装。
6、选择所需要安装的组件。
7、如有需要可以更改安装的路径。
8、然后一直下一步到Install,开始安装9、安装完成,点击Finish即可。
10、在菜单中,打开IAR Embedded Workbench,如能正常打开IDE,即安装成功。
二、CC Debugger 驱动程序安装1、插入仿真器,发现驱动程序并没有安装。
2、SmartRF4DD的图表上鼠标右击,通过搜索找到驱动程序。
3、驱动程序在安装路径下的\8051\drivers\Texas Instruments\文件夹中。
C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.0\8051\drivers\Texas Instruments\win_64bit_x644、点击确定就可以开始安装,完成后可以看但“SmartRF4EB”驱动已经更新。
5、安装完成后,系统就可以正确识别仿真器了。
四、安装代码烧写软件1、安装Setup_SmartRF_Programmer_1.10.2软件。
2、点击下一步即可。
3、直到安装完成。
4、打开这个烧写软件,你可以看到以下界面。
四、安装Zigbee的Z-Stack协议栈1、在TI网站可下载,已有的可双击ZStack-CC2530-2.5.1a.exe开始安装。
2、安装过程很简单,一直下一步开始安装。
3、很快就会安装完成。
第二部分:LED跑马灯程序的开发流程一、在IAR环境下,创建一个CC2530的新工程。
1、创建IAR工作区Workspace。
工作区Workspace是用来管理工程项目的,一个工作区中可以包含多个为不同应用创建的工程项目。
IAR启动的时候已自动新建了一个工作区。
也可以自己新建一个:File->New->Workspace,或打开已有的工作区。
2、创建IAR工程Project。
IAR使用Project来管理一个具体的应用开发项目,工程主要包括开发所需要的各种代码文件。
创建新工程:Project->Create New Project...选择“Empty project”来建立一个空白工程。
点击OK后,会弹出一个对话框,让你选择工程要保存的文字和为工程进行命名。
点击保存后,在IAR的工作区中会看到刚建立好的工程,但这个工程什么都没有,目前还是一个空的工程,后面就要往工程里面添加必要的代码文件。
给工作区命名并保存:File->Save Workspace3、设置工程选项参数工程创建好后,为了使工程支持CC2530单片机和生成.hex文件等,需要对工程的选项进行一些配置。
在“Workspace”中列出的项目上,鼠标右击,在快捷菜单中选择“Options”。
<1>配置单片机型号在工程选项窗体左边的列表菜单中“General Options”下的“Target”选项卡下,在“Device information”里单击“Device”最右侧的按钮,从“Texas Instruments”文件中选择“CC2530F256.i51”文件并打开。
<2>硬件仿真设置在工程选项窗体左边的列表菜单中“Debugger”下的“Setup”选项卡中,将“Driver”中的内容选择为“Texas Instruments”。
如果不需要生成.hex文件(烧写代码时需要),选项的配置到这里就完成了。
当你完成代码编写的时候,执行仿真命令,IRA就会通过CC Debugger将程序代码下载到CC2530中,然后启动调试窗体界面。
<3>配置输出.hex文件如果你不需要生成.hex文件,则这个配置可以省略。
在工程选项窗体左边的列表菜单中“Linker”下的“Output”选项卡下,在“Format”里面选择“Allow C-SPY-specigic extra output file”的复选框。
在列表菜单中“Linker”下的“Extra Output”选项卡下,选择“Generate extra output file”复选框。
再选择“Output file”中的“Override default”复选框,并在下面的文本框中输入要生成的.hex文件的全名。
最后在“Format”中将“Output format”设置为“intel-extended”。
至此,配置完成。
二、向工程添代码文件。
1、找到工程的存储目录,新建一个名为“source”的文件夹,方便管理自己编写的代码。
2、在IAR中,执行File->New->File命令创建一个空白文件,将其命名为“LED-Code.c”,然后通过执行File->Save命令,将其保存在刚刚新建的“source”文件夹下。
3、在“Workspace”中的工程上点击鼠标右键,在快捷菜单中选择Add->Add File...命令,找到需要添加的文件并打开。
至此,在“Workspace”中的工程下面出现了代码文件。
工程名字右上角的黑色“*”表示工程发生改变还未保存。
代码文件右侧的红色“*”表示该代码文件还未编译。
三、编写跑马灯代码之前需要知道的知识要点。
跑马灯的功能是:让两个LED轮流点亮。
电路连接如下:LED1-->P1.0,LED2-->P1.1。
要完成这个功能,首先要对单片机的I/O端口进行设置。
这里要对相关的一些特殊功能寄存器进行操作,将P1_0和P1_1这个两个端口设置成普通的I/O 端口功能,并且数据传输方向配置成输出。
<1> PxSEL 寄存器:设置端口的功能。
这里的“x”是指要使用的端口编号,P1端口对应的寄存器是P1SEL。
本任务需要将P1_0和P1_1设置为通用I/O功能。
即将P1SEL寄存器的第0位和第1位设置为0,其他端口不变。
设置方法:P1SEL &= ~0X03;<2> PxDIR 寄存器:设置通用I/O端口的数据传输方向。
这里的“x”是指要使用的端口编号,P1端口对应的寄存器是P1DIR。
本任务需要将P1_0和P1_1设置为输出。
即将P1SEL寄存器的第0位和第1位设置为1,其他端口不变。
设置方法:P1DIRL |= 0X03;四、编写跑马灯代码。
<1> 引用CC2530头文件。
在“LED-Code.c”文件中引用“ioCC2530.h”文件:#include “ioCC2530.h”该文件包含了CC2530中各个特殊功能寄存器的定义。
只有引用了该头文件后,才能在程序中直接使用特殊功能寄出去的名称,如P1、P1SEL、P1DIR等。
<2> 具体实现代码很简单,如下图。
<3> 编译代码。
执行Project-->Compile,如果没有错误,则可以进行下载和仿真。
<4> 仿真调试。
先将仿真器和目标板连接起来,注意接口方向不要接错,即排线上的三角箭头要与目标板上的白色三角箭头对齐。
然后再给目标板供电(如果有需要的话)。
在执行Project-->Download and Debug命令,或者点击工具栏上的绿色的三角符号。
这时候,IAR会启动调试窗体界面。
其中,绿色的箭头表示将要执行的指令。
执行Debug-->Go命令,或者按快捷键F5,便可全速执行代码。
在相应的指令处,点击下面工具栏中的小红点,可以在该处设置断点。
当程序全速执行到断点处,便会停下来。
五、烧写代码1、使用CC Debugger设备将CC2530目标板与计算机连接起来,然后打开烧写软件SmartRF Flash Programmer,选择“System-on-Chip”选项卡。
2、为目标板供电后,按下CC Debugger设备上面的复位按钮,可以看到烧写软件SmartRF Flash Programmer 设备列表区显示出了当前所连接的单片机信息。
3、单击Flash image的选择按钮,选择要烧写的程序文件(.hex文件)。
选择要烧写的文件,打开,该文件即添加到Flash image的目录中。
4、在Action选择组中选择“Erase, program and verify”,即对闪存执行擦除、编程和验证的操作。
5、鼠标单击“Perform actions”按钮,开始对CC2530进行编程。
编程完成后,信息框中显示:Erase, program and verify OK。
至此,烧写程序完成。