SmartRF flash programmer手册(中文本)

更新时间:2024-05-15 20:48:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

SmartRF(TM)闪存编程器用户手册

SmartRF(TM) Flash Programmer User Manual

杨熙贤 翻译(2015.5.1)

内容

1引言 ………………………………………………………………………………………………………………………1 2关于本手册 ………………………………………………………………………………………………………………2 3定义 ………………………………………………………………………………………………………………………3 4安装 ………………………………………………………………………………………………………………………4 5用GUI版本编程............................................................................................................................................................... 5 5.1 CCXXX SoC或MSP430设备编程 ........................................................................................................................ 5

5.1.1片上系统.............................................................................................................................................................6 5.1.2 MSP430编程....................................................................................................................................................11 5.2评估板编程*..............................................................................................................................................................12

5.2.1 USB微控制器固件更新..................................................................................................................................12 5.2.2评估板的固件自动更新.................................................................................................................................. 13

5.2.3 EB引导装载程序.............................................................................................................................................15 6命令行界面.......................................................................................................................................................................17 6.1选项............................................................................................................................................................................17 6.2 IAR工作台插件........................................................................................................................................................17

6.2.1安装...................................................................................................................................................................17 6.2.2使用...................................................................................................................................................................18 7安装HEX文件.................................................................................................................................................................21 8故障排除...........................................................................................................................................................................21 9文档历史记录...................................................................................................................................................................22

1 引言

这是SmartRF闪存编程器用户手册。 闪存编程器可对德州仪器公司低功率射频片上系统的闪存进行编程,并可通过MSP-FET430UIF对MSP430器件闪存和eZ430加密狗进行编程。

对于IEEE 802.15.4兼容设备(如CC2530)和Bluetooth? 低能量设备(例如CC2540)来说, 闪存编程器可向其中读取和写入IEEE/MAC地址。 此外,闪存编程器还可用于升级SmartRF04EB、SmartRF05EB、CC Debugger和CC2430DB上的固件。

2 关于本手册

本手册涵盖Flash编程器的使用,包括GUI版本和命令行 界面,手册中介绍了最常用的功能和相关选项。第5.2节描述如何从IAR Embedded Workbench中用闪存编程器命令行界面如同闪存编程那样执行构建后的操作。

Flash编程器具有用Silicon Laboratories的串行适配器EC2对SmartRF04EB 和CC2430DB上的USB MCU进行编程的功能,但这不包括在本手册内。

3 定义

CC Debugger CLI 出厂固件 CC Debugger可以用作编程电池板上安装的SoC和更新SmartRF05EB上USB MCU的接口 命令行界面 所提供的固件已由工厂编程到USB MCU内。此固件支持SmartRF? Studio 操作和独立的PER测试仪 GUI 图形用户界面 SmartRF?04DK 用于SmartRF?04平台(即CC2510DK和CC2430ZDK)所有开发工具包的总称 SmartRF?05DK 用于SmartRF?05平台(即CC2520DK)所有开发工具包的总称 USB微控制器 用于提供SmartRF?04EB和CC2430DB上USB 接口的Silicon Labs 的C8051F320 MCU。CC2511 MCU(即单片机)用于提供SmartRF05EB上的USB接口 4 安装

下载并解压TI网页(http://www.ti.com/tool/flash-programmer)上的zip文件。双击Setup_Smart- RFProgr_x.xx.exe文件启动安装。按照 屏幕上的说明操作。

注意:

安装SmartRF闪存编程器必须具有管理员权限。对于Windows Vista和Windows 7,启动安装程序时会出现“用户访问控制”对话框。如果用户具有管理员权限,点击“yes”按钮继续安装;如果用户不具有管理员特权,必须使用拥有这些权限的用户ID和密码。

5 用GUI版本编程

图形用户界面(GUI)运行于两种不同的用户模式:即片上系统(SoC)模块编程模式和评估板MCU(MSP430)编程模式。

5.1 CCxxx SoC或MSP430器件编程(第一种编程模式)

图1所示为片上系统模块的用户编程模式。支持两种类型的模块 。

图1 编程CCxxxx SoC或MSP430

“片上系统”用于编程德州仪器公司的SOC设备,例如CC1110、CC2430、CC2510和CC2530。此选项卡的用法在第5.1.1节内描述。

“MSP430系列”用来编程各种射频开发工具包内使用的MSP430 MCU。进一步的细节将在5.1.2节内描述。

5.1.1 片上系统

图2 片上系统的窗口

5.1.1.1 设备列表

设备列表显示片上系统当前连接的所有设备。注意,当选中片上系统选项卡时,不会显示未连接的EM系列片上系统的任何评估板。

如果连接了多个芯片,则此窗口中选中的芯片(标记为蓝色)就是要编程的芯片。

5.1.1.2 动作

德州仪器公司的SoC芯片可以执行6种不同的动作。要执行某个动作,需先选中其中一个动作,然后按“Perform actions(执动作作)”按钮。 进度栏和底部的输出窗口将输出动作的进展和结果。

这6种动作是:

擦除:将擦除所选SoC的闪存存储器。

擦除和编程:将擦除所选SoC闪存存储器,然后用“Flash image(闪存映像)”字段中选定的.hex文件对它编程。

擦除、编程和验证:与“擦除和编程”相同,但编程后闪存的内容将读出来并与.hex文件进行比较。这将检测编程中的错误或因闪存损坏所导致的错误。所以建议编程后一定要进行验证。

追加和验证:这一动作将内容写入“Flash image”字段中给出的hex文件内,对于所选的SoC则不先擦除闪存。注意,所有要写入的闪存在编程开始之前必须要能读出0xFF(即已擦除)。当一

个程序划分成多个hex文件时,这个功能是非常有用的。

这个动作要用debug(调试)命令从Flash中读出,这意味着如果在芯片上debug命令受阻,就不可能执行这个动作了。

验证hex(十六进制)文件:这一动作将把Flash的内容与“Flash image”字段中的hex文件进行比较。 注意,该功能只验证Flash中是否存在.hex文件的内容,如果在Flash中没有额外的写入就不做任何检查。

这个动作要用debug命令从Flash中读取,这意味着如果在芯片上debug命令受阻,就不可能执行这个动作了。

读入hex(十六进制)文件:这一动作读取整个Flash的内容,然后把它写入“Flash image”字段中给定的hex文件内 。

注意,“Flash image”字段中给定的hex文件将被重写。这个动作要用debug命令从Flash中读取,这意味着如果在芯片上debug命令受阻,就不可能执行这个动作了。

5.1.1.3 闪存锁

编程芯片时,可使用芯片所支持的各种闪存锁和debug命令锁等选项。这些字段将视设备表中所选的芯片类型而改变。请参阅不同芯片类型数据表中对各种锁的功能的相关描述。

注意,如果设置了debug命令锁,就不能再对芯片使用大部分debug命令了。例如,可能不能读取闪存。

CC11xx、CC25xx和CC24xx 对于这些设备可能写保护所有页面或页面编号的上一部分。

图3 写保护CC243x

CC253x与CC2540 对于这些设备可以写保护闪存映像的每一页。输入字段“Write protect(写保护)”应如图4所示,写保护CC2530。被写保护页面可以用逗号隔开,也可以指定一个页面范围。

图4 写保护CC2530

5.1.1.4 IEEE802.15.4地址/通用改变字段

IEEE地址的输入字段取决于所连接的射频设备。

图5 ZigBee SoC(CC2430/31)的IEEE地址

图6 ZigBee SoC(CC2530/31)的IEEE地址

图7 非ZigBee SoC的Change字段

诸如CC2430/31的ZigBee设备上的IEEE地址

在CC243x上,IEEE地址存储在闪存的最后8个字节内 。例如视 闪存大小该位置有所不同,参见下面表1。

芯片类型 CC243xF128 CC243xF64 CC243xF32 IEEE地址开始 0x1FFF8 0xFFF8 0x7FF8 表1: IEEE地址的位置

IEEE地址结束 0x1FFFF 0xFFFF 0x7FFF 要从芯片读取IEEE地址,选择合适的芯片类型(如F-128)并按“Read IEEE”按钮。 要将IEEE地址写入芯片,手动将地址写入IEEE字段(16进制地址,每字节间留空格),然后按“Write IEEE addree”按钮。

如果闪存已写保护或设置了debug命令锁,写入IEEE地址将失败。

如果选中了“重新编程芯片时保留IEEE地址”且当新程序写入芯片时使用了“擦除和编程”或“擦除、编程和验证”动作,就会保留IEEE地址。但如果编程开始之前已对芯片设置了debug命令锁,就不可能做到这点了。

诸如CC2530/31的ZigBee设备上的IEEE地址

对于CC253x,可以在闪存内编程两个IEEE地址。主地址已编程在Information Page(信息页)内且只能读取。地址则由工厂做了预编程。

次要IEEE地址是可选的(信息页上未用地址时才使用),存储在闪存的末端。最后16个字节用作锁定位,而IEEE 地址存储在锁定位前面的最后8个字节内。

芯片类型 CC243xF256 CC243xF128 CC243xF64 CC243xF32 IEEE地址开始 0x3FFF8 0x1FFF8 0xFFF8 0x7FF8 IEEE地址结束 0x3FFFF 0x1FFFF 0xFFFF 0x7FFF 要读取IEEE地址,选择Primary(主要)或Secondary(次要),并按“读IEEE”按钮。 只有次要IEEE地址可写。所有其他规则与上面对CC243x所描述的一样 。

非ZigBee设备上的Change字段

这个字段的意图是编程时以方便快捷的方式给芯片提供一个唯一的地址。它让用户可能更改从hex文件读出的程序中任何位置上的字节数,然后再将它写入到芯片。

当“Change”被选中时,输入起始地址,例如应改为第一字段的第一字节。然后新值写入最右边的字段(16进制,每字节间有一空格 )。当执行“擦除和编程”或“擦除、编程和验证”动作时,hex文件中给定地址处的字节被编程该芯片前由用户写入的内容所替换。hex文件本身并没有改变。

5.1.1.5 观察信息页面

要观察信息页单击下图中的“View Info Page”按钮(仅适用于CC253x和CC254x)。

所显示的信息页面如下图所示,它是存储各种设备信息的只读区域。

5.1.2 MSP430编程

图8 MSP430编程

图8显示用于MSP430单片机编程的标签。该设备可以通过USB调试接口(MSP - FET430UIF)或eZ430 USB加密狗进行连接。数字指明了两种情况。 MSP-FET430UIF连接的设备会出现COM端口。在这种情况下是 COM47。eZ430连接的设备被视为HID端口和COM端口。

当设备通过USB接口连接时,该设备在设备列表中出现前可能需要几秒钟。

所有动作的状态,将在窗口底部的状态字段中给出。企图编程为另一MCU系列所建立的hex文件将会检测出来并在“状态”字段中报告。

连接设备时将自动检查MSP-FET430UIF固件的版本。如果固件版本不匹配PC软件的版本,将给出一条消息,此时用户必须选择是否要更新固件。如果用户选择了更新固件,更新将自动执行。

5.2 评估板编程(第二种编程模式)

当更新SmartRF04EB、SmartRF05EB、CC Debugger和CC2430DB上发现的USB MCU时,将使用“EB Application (USB)”。该选项卡的使用方法将在第5.2.1节中描述。

可用“EB Application (Serial)”代替“EB Application(USB)”来更新SmartRF04EB上的USBMCU(微控制器)。此设置需要使用Silab的EC2串口适配器;其余的都具有与“EB Application (USB)”相同的功能。

“EB bootloader(引导加载程序)”是用来更新SmartRF04EB、SmartRF05EB、CC Debugger和CC2430DB上的引导加载程序的。进一步的细节将在第5.2.3节中描述。

图9 评估板编程

5.2.1 USB MCU固件更新

图9示出了“EB Application (USB)”标签。它提供了只用USB电缆来更新评估板上固件的可能性。不需要额外的编程。当连接SmartRF04EB、SmartRF05EB、CC Debugger或CC2430DB时,将出现一个设备列表。在最右边的列中可以读出当前固件的版本号。

注意,更新过程对于SmartRF04EB和CC2430DB有所不同。然而这两种产品所用的hex文件fw400.hex是相同的。

SmartRF05EB和CC Debugger使用专门为USB MCU(CC2511)打造的不同的hex文件。

5.2.1.1 更新SmartRF04EB / SmartRF05EB的USB MCU固件

1. 删除所有CCxxxxEM模块和连接到评估板的所有外部设备。

2. 将USB电缆连接到评估板并接通电源,它应该以“芯片类型”N / A出现在设备列表中。 3. 浏览到正确的闪存映像(如SmartRF04EB的fw0400.hex)

4. 选择“擦除、编程和验证”

5. 按“Perform action(执行行动)”。

6. 底部的状态指示器会显示进度,完成时将出现“EB固件更新OK“文本。

5.2.1.2 更新CC2430DB 的USB MCU固件

1. 拆除P5的所有跳线。

2. 把P4(USB deb)上的9针和10针连接在一起。

3. 将USB电缆连接到CC2430DB并接通电源,“芯片类型”、“EB类型”和“EB固件ID”设置为N / A应该出现在设备列表中。

4. 浏览到正确的闪存映像(如fw400.hex) 5. 选择“擦除、编程和验证” 6. 按“执行行动”。

7. 底部的状态指示器会显示进度,完成时将出现 “EB固件更新OK”文本。 8. 卸下P4的跳线针9-10,并在P5上安装跳线器。

注意:编程结束后和设备出现在器件列表内之前将花费几秒钟时间。这是因为编程设备和复位后USB总线上有定时限制。

5.2.2评估板固件的自动更新

固件可以自动用最新版本进行更新。固件的最新版本将与SmartRF工具一起安装。当评估板连接到USB端口时,闪存编程器将会把固件的当前版本与闪存编程器一起安装的hex文件的版本进行比较。如果发现当前的固件是旧版本,它将被显示为如图10所示的样子。

图10 旧固件显示

也将会有一个关于如何更新EB固件信息的弹出对话框出现,见图11。

图11 老EB固件的弹出对话框

5.2.3 EB引导程序

不同评估板的引导程序可以从“EB引导程序”选项卡中进行更新。

5.2.3.1 SmartRF04EB

要编程SmartRF04EB上的引导加载程序,需要使用Silabs公司的串口适配器(EC2)。 选择串行端口和闪存映象:可以从最近已编程的10个映像下拉列表的历史中选择闪存映像;另外,也可以用右侧的按钮浏览所需的闪存映象。指定板标识(ID号),并选择“擦除和程序”或“擦除、编程和验证”动作。点击“Perform actions(执行动作)”按钮开始编程。将在按钮下面的字段内显示状态。

“验证hex文件”动作可以利用给定的hex文件来检查USB MCU上的当前映像。

图12,SmartRF04EB的Bootloader

5.2.3.2 SmartRF05EB

图13引导程序的SmartRF05EB

要编程SmartRF05EB上的引导加载程序,可以使用CC Debugger,参见选定SmartRF05EB设备时所显示的映像。另外,也可以用SmartRF04EB或SmartRF05EB板代替CC Debugger。然后10引脚扁平电缆应连接到SmartRF0xEB上的“SoC Debug”头上。

图14 编程带有SmartRF04EB的引导加载程序

接口速度可以设置为快或慢,这决定了USB MCU调试接口上的时钟速率。正常情况下使用快速率应该不会有任何问题。

闪存映像可以从具有已编程的最近10个映像历史下拉列表中选择。另外,也可以用右侧的按钮浏览所需的闪存映像。

在连接设备列表中应能看到已连接的CC Debugger或SmartRF04EB板。“芯片类型”应该是CC2511。选择所需的设备。

指定该板标识(ID号),并选择“擦除和程序”或“擦除、编程和验证”动作。 点击“Perform actions”按钮开始编程。状态将显示在按钮下面的字段中。

6 命令行界面 6.1选项

为了在命令行界面内获得所有可用的选项,可在不带任何参数/变元的命令窗口中运行SmartRFProgConsole.exe。然后将打印出所有可用选项的列表。这些选项与闪存编程器GUI版本中的选项相同。请参考第4章对这些的描述。

6.2 IAR工作台的插件

命令行界面可以集成在IAR工作台内。要设置IAR的这种功能需要尊照下面的说明。

6.2.1设置

启动IAR工作台,然后从工具菜单中选择“配置工具...”,如图15所示。

图15 工具菜单

按“New”并添加表2中的信息,见图16。

字 段 值 菜单文本: FlashProgram C:\\Program Files\\Texas Instruments\\SmartRF Tools\\Flash Programmer\\bin\\ 命令: SmartRFProgConsole.exe1 参数: 1

S() EPV F=$TARGET_PATH$ K(0) 表2 Flash编程器的设置

将完整路径插入命令行Flash编程器中

图16 配置工具

6.2.2使用

设置完成后,Tools(工具)菜单上将出现一个新目标。

图17 从IAR工作台中使用闪存编程器

设置你的项目,令其生成hex文件作为主要输出(图19),进行编译和链接,并从工具菜单中选择“Flash Program(闪存编程)”。将会显示一个命令行窗口,如图18所示。在“S”选项后面将插入一个空圆括号。如果此圆括号是空的,可使用第一个开发卡。如果是连接了一个以上的开发卡,在空圆括号内填写将要使用的卡号。

编程时K(0) 选项将保留IEEE地址。在CC2430F128上使用K(0)、CC2430F64上使用K(1),CC2430F32上使用K(2)。如果除去了K选项,则不保留IEEE地址。

本文来源:https://www.bwwdw.com/article/mps7.html

Top