
1.4 创建第一个IAR应用程序
本节主要通过创建一个IAR应用程序来介绍IAR集成开发环境的基本使用方法。
1.4.1 创建IAR工程
(1)打开IAR集成开发环境的方法为:在计算机桌面单击“开始→所有程序”,在程序列表中找到“IAR Systems→IAR Embedded Workbench for 8051”目录,在该目录下找到并单击“IAR Embedded Workbench”应用程序即可运行IAR集成开发环境(建议将该程序的图标放在桌面上),如图1.18所示。

图1.18 打开IAR集成开发环境的方法
IAR集成开发环境的运行界面如图1.19所示。

图1.19 IAR集成开发环境的运行界面
(2)新建工作空间。单击菜单“File→New→Workspace”即可新建工作空间,如图1.20所示。

图1.20 新建工作空间
(3)保存工作空间。本节以桌面上的“LED”文件夹为例,将工作空间保存在该目录,然后单击“保存”按钮,如图1.21所示。

图1.21 保存工作空间
(4)创建一个新工程。单击菜单“Project→Create New Project”,如图1.22所示。

图1.22 创建一个新工程
此时会弹出“Create New Project”对话框,如图1.23所示。在该对话框中将“Tool chain”设置为“8051”,然后单击“OK”按钮。

图1.23 “Create New Project”对话框
(5)在上一步骤中单击“OK”按钮后,系统就会提示保存工程,将工程保存到“LED”目录下,如图1.24所示。

图1.24 保存工程
(6)新建源程序文件main.c。单击菜单“File→New→File”,可在空白文件中添加代码。添加完代码后,按“Ctrl+S”或者单击菜单“File→Save”保存该文件,将该文件保存在“LED”目录下,并命名为main.c,如图1.25所示。

图1.25 保存main.c文件
(7)将main.c文件添加到工程中。右键单击工程名称,在弹出的快捷菜单中选择“Add→Add‘main.c’”,如图1.26所示。

图1.26 将main.c文件添加到工程中
成功添加main.c后的界面如图1.27所示。

图1.27 成功添加main.c后的界面
1.4.2 设置IAR工程
IAR集成开发环境支持众多芯片厂商不同型号的MCU,为了能够将程序正确地烧写到CC2530芯片中并进行调试,需要对新建的工程进行设置。下面是IAR工程的设置步骤。
(1)选中并右键单击工程,在弹出的快捷菜单中选择“Options”,如图1.28所示,即可进入工程设置界面。

图1.28 选择“Options”
(2)进入工程设置界面后,在“Category”选项框中选择“General Options”配置,单击“Target”标签项的“Device”右侧图标可选择芯片的型号,如图1.29所示。

图1.29 选择芯片的型号
在弹出的快捷菜单中选择“Texas Instruments→CC25xx→3x→CC2530F256”,如图1.30所示。

图1.30 选择CC2530F256
在“Stack/Heap”标签项中将“XDATA”设置为“0x1FF”,如图1.31所示。

图1.31 将“XDATA”设置为“0x1FF”
(3)配置Linker。该选项主要用于设置文件编译之后生成的文件类型和文件名。选择“Category→Linker”,在“Extra Options”标签项中勾选“Use command line options”并输入以下内容,这样在工程编译后就可生成hex文件,如图1.32所示。


图1.32 Linker配置
(4)配置Debugger。选择“Category→Debugger”,在“Setup”标签项的“Driver”下拉框中选择“Texas Instruments”,单击“OK”按钮即可完成Debugger的配置,如图1.33所示。

图1.33 配置Debugger
1.4.3 IAR应用程序的编译、下载与调试
完成IAR工程的配置后,就可以编译、下载并调试程序了,下面依次介绍IAR应用程序的编译、下载和调试。
(1)编译IAR应用程序。单击IAR集成开发环境中的菜单“Project→Rebuild All”或者工具栏中的“”按钮即可编译IAR应用程序,编译成功后会在该工程的“Debug\Exe”目录下生成led.d51和led.hex文件。
(2)下载IAR应用程序。将CC2530节点板跳线设置为模式一,通过CC2530仿真器连接PC和CC2530节点板(第一次使用CC2530仿真器时需要安装驱动程序,驱动程序位于“C:\Program Files (x86)\Texas Instruments\SmartRF Tools\Drivers\Cebal”),打开CC2530节点板的电源,按下CC2530仿真器上的复位按键,单击IAR集成开发环境中的菜单“Project→Download and Debug”或者单击工具栏中的下载按钮即可将IAR应用程序下载到CC2530节点板。IAR应用程序下载后,IAR集成开发环境自动进入调试界面,如图1.34所示。

图1.34 调试界面
(3)调试IAR应用程序。进入调试界面后,就可以对IAR应用程序进行调试了。IAR集成开发环境的调试按钮包括如下几个选项:重置(Reset)按钮、终止(Break)按钮
、跳过(Step Over)按钮
、跳入函数(Step Into)按钮
、跳出函数(Step Out)按钮
、下一条语句(Next Statement)按钮
、运行到光标的位置(Run to Cursor)按钮
、全速运行(Go)按钮
和停止调试(Stop Debugging)按钮
。
由于这些调试按钮的使用方法比较简单,所以本书不再详细描述使用方法。
在调试过程中,可以通过Watch窗口来查看程序中变量值的变化。单击IAR集成开发环境中的菜单“View→Watch→Watch 1”即可打开一个Watch窗口,如图1.35所示。

图1.35 启用Watch窗口的方法
打开Watch窗口后,在IAR集成开发环境界面的右部即可看到Watch窗口,显示如图1.36所示。

图1.36 Watch窗口
在Watch窗口中查看变量的方法是:将需要调试的变量输入Watch窗口的“Expression”中,然后按回车键,IAR集成开发环境就会实时地将该变量的值显示在Watch窗口中。在调试过程中,可以借助调试按钮来查看变量值的变化情况,如图1.37和图1.38所示。

图1.37 在Watch窗口中查看变量(一)

图1.38 在Watch窗口中查看变量(二)
在调试过程中,IAR集成开发环境也支持寄存器值的查看。打开寄存器(Register)窗口的方法是:在程序调试过程中,单击IAR集成开发环境中的菜单“View→Register”即可打开寄存器窗口。在默认情况下,寄存器窗口显示的是基础寄存器(Basic Registers)的值,单击寄存器下拉框选项可以看到不同设备的寄存器。寄存器窗口如图1.39所示。

图1.39 寄存器窗口
在本节的工程中,LED1(D1)、LED2(D2)用到的是普通I/O端口的P1寄存器,I/O端口分别对应着P1_1引脚和P1_0引脚。下面通过寄存器窗口来查看P1寄存器值的变化。在寄存器选项中,选择“I/O”,然后将“P1”选项展开,就可以看到P1寄存器中每一位的值。通过单步调试,就可以看到P1寄存器值的变化,如图1.40和图1.41所示。

图1.40 在寄存器窗口中查看寄存器的值(一)

图1.41 在寄存器窗口中查看寄存器的值(二)
调试结束之后,单击全速运行按钮,或者将CC2530节点板重新上电或者按下复位按钮,就可以观察两个LED的闪烁情况。
1.4.4 下载hex文件
前文介绍了IAR应用程序的编译、下载与调试,但有时要将编译生成的hex文件下载到CC2530中。下面介绍如何利用SmartRFProgrammer将hex文件下载到CC2530中。
(1)通过CC2530仿真器连接PC和CC2530节点板,打开CC2530节点板的电源。
(2)运行SmartRFProgrammer,运行界面如图1.42所示。按下CC2530仿真器的复位按键后,SmartRFProgrammer就会显示CC2530节点板的信息,如图1.43所示。

图1.42 SmartRFProgrammer运行界面

图1.43 SmartRFProgrammer显示的CC2530节点板的信息
(3)单击“Flash image”右侧的“…”按钮选择led.hex,在弹出的“打开”对话框中选择“led.hex”文件后单击“打开”按钮,如图1.44所示。

图1.44 选择led.hex文件
(4)选择led.hex文件之后,单击SmartRFProgrammer中的“Perform actions”按钮,就可以下载led.hex文件了,如图1.45所示。

图1.45 下载led.hex文件
下载完成后,会提示如图1.46所示的信息。

图1.46 下载完成后的提示信息