1.1 新建工作空间及工程
新建工作空间
(1)创建一个名字为Workspace的文件夹,如图所示。
(2)运行IAR EW for 8051 10.10.1,如图所示。
(3)依次选择File和New Workspace,新建工作空间,如图所示。
(4)新建工作空间成功,如图所示。
(5)依次选择File和Save Workspace As…,保存工作空间,如图所示。
(6)选择工作空间所需保存的目录,然后设置工作空间名称,最后点击保存,如图所示。
新建工程
(1)依次选择Project和Create New Project…,在工作空间中新建工程,如图所示。
(2)选择Empty project,新建一个空工程,如图所示。
(3)选择工程保存路径并且编辑工程名称,最后点击保存,如图所示。
(4)工程新建成功,如图所示。
(5)依次选择File和Save Workspace,保存工作空间,如图所示。
1.2 源代码编写及编译
一. 新建源码文件夹
(1)在保存工作空间和工程的目录下,新建一个code文件夹,用于保存源码,如图所示。
(2)依次选择File和New File,新建源代码文件,如图所示。
(3)新建源代码文件成功,如图所示。
(4)点击Save按钮,保存源文件,如图所示。
(5)选择源文件保存目标,并把源文件命名为main.c,然后点击保存,如图所示。
二. 添加源文件到工程中
(1)鼠标右击工程名称,然后依次选择Add和AddGroup,新建一个组,如图所示。
(2)设置组名称为Main,然后点击OK,如图所示。
(3)鼠标右击新建的组,依次选择Add和Add “main.c”,在组中添加新建的源文件,如图所示。
三. 编写一个简单的测试程序
添加好main.c后,可以在mian.c添加如下代码:
#include "ioCC2530.h"
#include <stdio.h>
void main()
{
/* 在 Terminal IO(控制台) 中输出提示信息 */
printf("Hello World!\r\n");
/* 无限循环 */
while(1){}
}
四. 设置字体和行号
(1)可以根据个人喜好来设置代码字体和行号,依次选择Tools和Options,打开设置,如下图所示。
(2)依次选择Editor、Colors and Font,然后点击Font…,最后选择字体,如图所示。
(3)选择Editor,然后勾选Show line numbers,显示行号,如图所示。
五. 工程配置
添加好源代码后,需要配置一下工程后才能编译。鼠标右击工程名称,然后选择Options…,如图所示。
基础配置
(1)可以根据所使用的ZigBee芯片型号来进行配置,这里以CC2530F256为例讲解配置过程。依次选择General Options、Target、Device和Texas Instruments,如图所示。
(2)依次选择CC25xx、3x和CC2530F256,如图所示。
(3)确认配置没有问题后,点击OK,如图所示。
(4)在 Calling conversation 选择框中,可能没有 IDATA stack reentrant 这个选项,此时改为 XDATA stack reentrant 就可以了,如图所示。
(5)选择Stack/Heap,配置数据段XDATA的大小为1FF,如图所示。
链接和输出配置
(1)依次选择Linker和Config,然后选lnk51ew_cc2530f256_banked.xcl,如图所示。
(2)选择Output,按如图所示配置。
(3)选择Extra Output,按如图所示配置。
(4)选择Debugger,在Driver中选择Texas Instruments,如图所示。
六. 编译链接工程
(1)配置完成后,可以编译链接工程。鼠标右击工程名字,然后选择Rebuild All,重新编译链接整个工程,如图所示。
(2)可以在如图所示位置查看编译链接结果。
1.3 程序下载及仿真
硬件配置
(1)把ZigBee仿真器分别连接到开发板和电脑上,就可以开始进行程序下载和仿真了。
(2)ZigBee仿真套件包含ZigBee仿真器、USB线和串口排线,如下图所示。
(3)其接线方式如下图所示。
(4)ZigBee开发板中均配有仿真器接口,如图所示。
(5)把仿真器与开发板连接,如图所示。
(6)然后,把仿真器的USB接口接入到电脑的USB接口中。
注意:
每次把USB线连接到电脑后,都需要按一下仿真器上的复位按键。
程序下载及仿真
注意:
在学习本节课前,需要先安装好配套软件工具,尤其是仿真器驱动程序。
基础操作
(1)如图所示,在IAR中我们可以找到两种仿真模式:
- 一种是会把程序下载到芯片中
- 另一种不会下载程序到芯片中,而是仅做在线调试
(2)点击 “下载并进行仿真” 按钮,IAR即开始下载和仿真,并切换到如图所示界面。
(3)在单步执行代码的过程中,除了可以直接运行到断点处、光标所在位置或下一段程序,还有以下几种模式可供选择:
- step over:执行到函数调用的地方时,不会进入该函数内部,而是把该函数整个执行完之后在停止并等待,即把整个函数作为一步来执行;
- step into:执行到函数调用的地方时,会进入该函数内部并继续单步执行;
- step out:当单步执行到函数内部时,使用step out可以直接执行完当前函数并返回到上一层。
使用交互终端
(1)接着,可以调出交互终端查看由printf输出的函数信息。依次点击View和Terminal I/O,如图所示。
(2)调出交互终端后的效果如图所示。
(3)点击“GO(F5)”按钮,运行程序代码,可以看到交互终端输出了“Hello World!,如图所示。
(4)至此,已经学习完了整个仿真流程了,但是仿真程序是非常强大的,其功能也比较多,需要大家在后续的课程边学边用,最后达到熟练掌握的目标。
1.4 固件烧录
固件简介
(1)在配置并编译链接工程后,IAR 会生成一个hex文件。这个hex文件可以作为产品打包发布的固件,如图所示。
(2)鼠标右键点击test.hex文件,然后选择Open Containing Folder…可以查看文件所在目录,如图所示。
(3)在实际的开发过程中,一般需要生成两个版本的固件:
- 一个是调试用的Debug版本
- 一个是产品正式发布的Release版本
在创建工程时,IAR也默认存在相关的配置。依次点击Project和Edit Configurations…,选择编辑工程配置,如图所示。
固件烧录
可把固件烧录到开发板上,观察固件在开发板上的运行结果。固件烧录步骤如下:
(1)确保已经安装了 SmartRF Flash Programmer ,安装说明请参考《第一部分:准备》→《SmartRF Flash Programmer 下载与安装》
(2)把开发板通过仿真器连接到电脑上,链接方式参考上一节课。
(3)按一下仿真器的复位按键。
(4)打开SmartRF Flash Programmer,点击System-on-Chip,可以看到识别到的仿真器。接着选中待烧录的固件、选中Erase and program,如图所示。
(5)最后点击perform actions并等待烧录成功即可,如图所示。