IAR开发环境的搭建以及CC2530单片机程序编程实验

来源:互联网 发布:unity3d虚拟试衣间 编辑:程序博客网 时间:2024/06/07 01:14


实验一IAR开发环境的搭建以及

CC2530单片机程序编程实验

一、实验目的

1、了解和熟悉IAR开发环境

2CC2530芯片程序的编写和烧录

二、实验内容

1、熟悉IAR开发环境,学习创建工程添加文件以及配置必要的参数

2、将CC2530当成单片机进行开发,编写简单的C语言程序进行测试

三、实验设备

硬件:

1、无线传感网实验箱               1

2PC                          1

软件:

1SmartRF FLASH Programmer                

2Packet Sniffer       

3SmartRF Studio 7

4IAR Embedded WorkBench     

四、实验原理

4.1IAR开发环境

Keil C类似,IAR也是一个用单片机程序开发的集成开发环境,它对CC2530提供完美的支持,因此在大对数针对CC2530(或者同类型)芯片的开发中有着广泛的用途。

4.2CC2530 SoC

CC2530是用于2.4-GHz IEEE 802.15.4ZigBeeRF4CE应用的一个真正的片上系统(SoC)解决方案。它能够以非常低的总的材料成本建立强大的网络节点。CC2530结合了领先的RF 收发器的优良性能,业界标准的增强型8051 CPU,系统内可编程闪存,8-KB RAM和许多其他强大的功能。CC2530 有四种不同的闪存版本:CC2530F32/64/128/256,分别具有32/64/128/256KB的闪存。CC2530 具有不同的运行模式,使得它尤其适应超低功耗要求的系统。运行模式之间的转换时间短进一步确保了低能源消耗。

在不使用它的射频功能的情况下,完全可以把CC2530当成一个51单片机来使用,本实验也是站在这里角度来进行的。

五、实验步骤

5.1、搭建IAR开发环境

5.1.1、创建新的工程

启动运行 IAR Embedded WorkBench开发环境,如果出现Embedded WorkBench Startup界面,选择CancelProject->Create NewProject->Tool Chain 8051->OK,并将该工程放置在一个全新的文件目录下,如图1所示:

1,创建New Project

5.1.2创建新文件并添加到工程

File->New->File,创建一个新的文件,Save as到工程所在目录下,并为其命名,如下图2所示,

2创建新的C源文件

Project->Add Files,选中刚刚创建的源码文件,点击OK,这样就会将该文件添加到本工程中,并且在视窗的左侧的工程栏中列出该文件,如图3所示,

3将文件添加到工程

 

5.1.3设置工程选项参数

在视窗左侧的工程栏中,单击整个工程的根目录,然后选择Project->Options,得到如图4所示配置界面,

4,进入工程选项界面

完成以下配置

General Options项中

Target标签下,Device中选择“Texas Instruments”文件夹下的CC2530.i51

Data model栏选择Large,如图5所示

5 General Options->Target

 

Data Pointer标签中,Number of DTPRs选择1,如图6所示

6GeneralOptions->Data Pointer

Stack/Heap标签中,XDATA填入0X1FF,如图7所示

7 General Options->Stack/Heap

Linker

Output标签中点选Override default,并在下面栏中填写生成的以.hex为后缀的二进制文件的名称。

并且勾选Allow C-SPY-specific extraoutput file,如图8所示。

注意!!!这样子生的二进制文件是在IAR下调试用的,如果想要生成利用smartRF Flash Programmer 软件烧写的二进制可执行文件,请勾选Other

8 Linker->Output

Config标签中,勾选“Override default,选择“$TOOLKIT_DIR$\config\lnk51ew_cc2530.xcl,如图9所示

9 Linker->Config

 

Debugger

Setup标签->drive->Texas Instrument,如图10所示

10 Debugger->Setup

 

5.2、编译调试源代码

CC-Debugger将实验箱内的Zigbee协调器和PC机相连。

5.3节中的流水灯源码程序拷贝至工程中test.c文件中,点击编译键,如果没有任何错误提示,点击调试键,此时会出现调试工具栏,点击运行按键,观察开发板上的LED1LED2LED3是否以流水灯的形式运行。

注意,如果在调试过程中出现如图11所示窗口,说明连接不良,请检查连接链路。

11 Debugger错误提示窗口

   

5.3测试源码

#include <ioCC2530.h>

#define uint unsigned int

#define uchar unsigned char

//定义控制灯的端口

#define RLED P1_0 //定义LED1P10口控制

#define GLED P1_1 //定义LED2P11口控制

#define YLED P1_4 //定义LED3P14口控制

//函数声明

void Delay(uint);       //延时函数

void InitIO(void);            //初始化LED控制IO口函数

/****************************

//延时

*****************************/

void Delay(uint n)

{

      uinti;

      for(i= 0;i<n;i++);

       for(i = 0;i<n;i++);

       for(i = 0;i<n;i++);

       for(i = 0;i<n;i++);

       for(i = 0;i<n;i++);

}

/****************************

//初始化IO口程序

*****************************/

void InitIO(void)

{

   P1DIR |= 0x13; //P10P11P14定义为输出

   RLED = 1;

   GLED = 1;

   YLED = 1;    //LED灯初始化为开

}

/***************************

//主函数

***************************/

void main(void)

{

      InitIO();              //初始化LED灯控制IO  

      while(1)                //死循环

      { 

          RLED = !RLED;           // LED1灯闪一次

          Delay(10000);          

          GLED = !GLED;           // LED2灯闪一次

          Delay(10000);           

          YLED = !YLED;           // LED3灯闪一次

          Delay(10000);

          

      }

}

5.4更多测试源码

\…\无线传感网实验箱\源代码\CC253X Test,目录下有更多可供测试的源码和说明,学生可以根据兴趣,自行进行测试和源码学习。

六、实验报告要求

 

0 0