如何生存cc2640可labview烧录bin文件的.bin文件

CC2640 OAD 升级Image B文件生成问题 - 蓝牙Bluetooth 技术 - 德州仪器在线技术支持社区
CC2640 OAD 升级Image B文件生成问题
发表于10月前
<input type="hidden" id="hGroupID" value="42"
在On-chip OAD升级验证时遇到一个疑惑的问题,使用最新的BLE Device MonitorV2.2.0,选择下载的文件可以直接选择生成的hex文件,(在网站有软件由1.0升级&/p>
&p>为2.0时的变更说明,OAD uses hex files directly)。不过我比较了一下,DeviceMonitor生成的bin文件与用工程目录下面的hex2bin转出来bin不一致。&/p>
&p>在&a href=&.cn/product/cn/CC2640& target=&extwin&>CC2640&/a> BLE OAD User&s Guide里面提到Image Identify特征值使用的是生成的OAD image的头,&&/p>
&div>&img id=&2D09ECD3-4CB7-48BE-B1C2-116C3D770C22.png&& border=&0& hspace=&3& vspace=&3& alt=& &>The Image Identify characteristic is used to exchange image metadata between downloader and target.&/div>
&div>&/div>
&div>但是实际软件生成bin里面有两个OAD header?直接使用hex文件是不是至不需要通过IAR工具来配置生成Image B文件了,通过CCS编译出来的Hex文件也可以&/div>
&div>&/div>
&div>作为Image B使用?&/div>
&p>&strong>&span style=&color:#ff0000;&>11:03:38.568 & WriteChar.[FFC1,16]: 41 9C FF FF 00 00 14 25 45 45 45 45 00 24 01 FF (OAD image identify)&/span>&/strong>&/p>
&p>11:03:38.569 & &span>OAD started&/span>&/p>
&p>11:03:38.596 & &span>WriteRsp[FFC1]: st=0 n=0&/span>&/p>
&p>11:03:38.596 & &span>Notif.[FFC2]: st=0 n=2 00 00&/span>&/p>
&p>&strong>&span style=&color:#:38.597 & WrNoRsp[FFC2,18]: 00 00 9B 3B FF FF 03 00 00 28 42 42 42 42 FF FF FF FF (第一帧,OAD header,image metadata)&/span>&/strong>&/p>
&p>11:03:38.597 & &span>WrNoRsp[FFC2,18]: 01 00 58 44 00 20 B9 1F 01 00 49 18 01 00 49 18 01 00&/span>&/p>
&p>11:03:38.598 & &span>WrNoRsp[FFC2,18]: 02 00 49 18 01 00 49 18 01 00 49 18 01 00 49 18 01 00&/span>&/p>
&p>11:03:38.598 & &span>WrNoRsp[FFC2,18]: 03 00 49 18 01 00 49 18 01 00 49 18 01 00 49 18 01 00&/span>&/p>
&p>11:03:38.628 & &span>Notif.[FFC2]: st=0 n=2 01 00&/span>&/p>
&p>11:03:38.628 & &span>Notif.[FFC2]: st=0 n=2 02 00&/span>&/p>
&p>11:03:39.140 & &span>GAP Link Terminated: status=0 h=0 reason=0x08&/span>&/p>
&p>11:03:39.140 & &span>Supervision timeout&/span>&/p>
&p>11:03:39.141 & &span>OAD Target Image A disconnected&/span>&/p>&div style=&clear:&>&/div>" />
CC2640 OAD 升级Image B文件生成问题
此问题尚无答案
All Replies
在On-chip OAD升级验证时遇到一个疑惑的问题,使用最新的BLE Device MonitorV2.2.0,选择下载的文件可以直接选择生成的hex文件,(在网站有软件由1.0升级
为2.0时的变更说明,OAD uses hex files directly)。不过我比较了一下,DeviceMonitor生成的bin文件与用工程目录下面的hex2bin转出来bin不一致。
在 BLE OAD User&s Guide里面提到Image Identify特征值使用的是生成的OAD image的头,&
The Image Identify characteristic is used to exchange image metadata between downloader and target.
但是实际软件生成bin里面有两个OAD header?直接使用hex文件是不是至不需要通过IAR工具来配置生成Image B文件了,通过CCS编译出来的Hex文件也可以
作为Image B使用?
11:03:38.568 & WriteChar.[FFC1,16]: 41 9C FF FF 00 00 14 25 45 45 45 45 00 24 01 FF (OAD image identify)
11:03:38.569 & OAD started
11:03:38.596 & WriteRsp[FFC1]: st=0 n=0
11:03:38.596 & Notif.[FFC2]: st=0 n=2 00 00
<span style="color:#:38.597 & WrNoRsp[FFC2,18]: 00 00 9B 3B FF FF 03 00 00 28 42 42 42 42 FF FF FF FF (第一帧,OAD header,image metadata)
11:03:38.597 & WrNoRsp[FFC2,18]: 01 00 58 44 00 20 B9 1F 01 00 49 18 01 00 49 18 01 00
11:03:38.598 & WrNoRsp[FFC2,18]: 02 00 49 18 01 00 49 18 01 00 49 18 01 00 49 18 01 00
11:03:38.598 & WrNoRsp[FFC2,18]: 03 00 49 18 01 00 49 18 01 00 49 18 01 00 49 18 01 00
11:03:38.628 & Notif.[FFC2]: st=0 n=2 01 00
11:03:38.628 & Notif.[FFC2]: st=0 n=2 02 00
11:03:39.140 & GAP Link Terminated: status=0 h=0 reason=0x08
11:03:39.140 & Supervision timeout
11:03:39.141 & OAD Target Image A disconnected
You have posted to a forum that requires a moderator to approve posts before they are publicly available.cc2640 用命令行方式烧录
我的图书馆
cc2640 用命令行方式烧录
1.在Flash Programmer 2(E:\Program
Files (x86)\Texas Instruments\SmartRF Tools\Flash Programmer 2\doc\help)的帮组文档中我们可以看到cc2640是可以用命令行的方式烧录的
我们使用的命令是:
srfprog -t
soc(XDS-06EBA,CC2538)-e -p -v -fc:\ test.hex
-t 后面是指定烧录目标
-e 表示擦除全部扇区
-p 表示在源文件中编程所有页面
-v 表示烧录检查默认是CRC check
-f 后面表示烧录用的hex文件
这些参数和Flash
Programmer 2中所对应的参数是一一对应的
但是在烧录时如果我们在-f 参数后跟应用hex文件和协议栈的文件这样烧录是不会成功的,通过查看Flash Programmer 2的烧录日志我们可以发现它是将两个文件读入后合并再一起烧写的,但是它是怎样拼接两个文件我们不得而知
不过Flash Programmer 2给我们提供了一个功能,它可以读取flash中的数据并保存成文件
所以我们反其道而行之读取了flash中的文件保存成hex格式文件, 然后我们把读出的文件重新烧录发现成功了
下面是烧录日志:
-----------------------------------------------------------------------------------------------
access to target: XDS-.
file: F:/mywork/c2640/cc2640_code/ti/simplelink/ble_cc26xx_2_00_00_42893/Projects/ble/SimpleBLEPeripheral/CC26xx/IAR/Application/CC2640/FlashROM/Exe/SimpleBLEPeripheralAppFlashROM.hex.
file: F:/mywork/c2640/cc2640_code/ti/simplelink/ble_cc26xx_2_00_00_42893/Projects/ble/SimpleBLEPeripheral/CC26xx/IAR/Stack/CC2640/FlashROM/Exe/SimpleBLEPeripheralStackFlashROM.hex.
flash erase ...
finished successfully.
flash programming ...
&Programming
finished successfully.
flash verify ...
verification of unassigned page: 7.
verification of unassigned page: 8.
verification of unassigned page: 9.
verification of unassigned page: 10.
verification of unassigned page: 11.
verification of unassigned page: 12.
verification of unassigned page: 13.
0 verified OK.
1 verified OK.
2 verified OK.
3 verified OK.
4 verified OK.
5 verified OK.
6 verified OK.
14 verified OK.
15 verified OK.
16 verified OK.
17 verified OK.
18 verified OK.
19 verified OK.
20 verified OK.
21 verified OK.
22 verified OK.
23 verified OK.
24 verified OK.
25 verified OK.
26 verified OK.
27 verified OK.
28 verified OK.
29 verified OK.
30 verified OK.
31 verified OK.
&Verification
finished successfully.
target ...
of target successfull.
-----------------------------------------------------------------------------------------------
部分命令参考:
命令行界面(CLI)
命令行界面在脚本控制编程时可能很有用。Flash版本的CLI版本与GUI版本具有相同的功能。
如果没有任何参数启动CLI,则会列出CLI版本的所有可用选项。见下图。
可以通过单击GUI右上角的“工具”图标来启动“命令行界面”窗口。将启动一个命令窗口,其中使用CLI可执行文件的位置更新环境变量(路径)。只有启动CLI版本的Flash编程器才需要可执行文件的名称。
Flash Programmer支持以下命令行选项
& srfprog [Target] [Actions] [File] [Address]
参数的顺序是无关紧要的。
具体选项的说明可以通过以下方式获得:
& srfprog -h [target | 动作| 文件| 地址| 示例| 帮帮我]
只需要两个第一个字母:例如:srfprog -h ta
帮助符号:
方括号用于可选参数。
用于替换符号的百分比标记。
用于需要其中一个选项的卷曲括号。
垂直条可供选择。
目标:{-t | --target} [soc | lsidx]&&&soc(%device id%[,%chip id%])SoC Device&&&&&&&%设备ID%:已连接EB的设备ID。此参数区分大小写。&&&&&&&%芯片ID%:芯片ID。如果没有给出XDS仿真器设备,&&&&&&&&&&&&&&&&&&&&探测确定连接的SoC将是&&&&&&&&&&&&&&&&&&&&执行,这将需要更长的时间。&&&&&&&&&&&&&&&&&&&&芯片ID与COM设备结合使用是必需的。&&&lsidx(%index%)列表索引&&&&&&%index%:从list命令返回的已连接设备的索引。-------------------------------------------------- -----------------------------操作:[-ls | --list] | [-e | --erase] | [-p | &- 程序] |&&&&&&&&&[-v | --verify] | [-r | --read] | [-w | &- 写] |&&&&&&&&&[-k | --keep] | [-c | --change] | [-rs | --reset] |&&&&&&&&&[-j4 | --jtag4]&&{-ls | --list} [min | 全部| 汽车]&&&&min:列出连接的Cebal设备(默认)。&&&&全部:列出所有连接的设备。&&&&自动:列出所有连接的设备,并自动尝试查找芯片ID&&&&&&&&&&用于基于ARM的设备。&&{-e | --erase} [all | p | pif | epfw | ep | 强制]&&&&全部:清除所有未保护的页面(默认)。&&&&p(%pages%):擦除给定的页面。&&&&pif:清除源文件中的页面。&&&&强制:强制质量擦除。不能合并&&&&&&&&&&&&&&&&&其他行为。&&{-p | --program} [all | epfw | EP]&&&&全部:在源文件(默认)中编程所有页面。&&&&epfw(%value%):从给定值填充的源文件中排除页面。&&&&ep(%pages%):从源文件中排除给定的页面。&&{-v | --verify} [crc | rb] [pif | 全部| epfw | EP]&&&&crc:使用CRC校验和验证页面(默认)。&&&&rb:使用回读和对位比较验证页面。&&&&all:验证源文件中的所有页面(默认)。&&&&epfw(%value%):从给定值填充的源文件中排除页面。&&&&ep(%pages%):排除给定页面。&&{-r | --read} [all | p | addr | macpri | macpri154 | macprible |&&&&&&&&&&&&&&&&&macsec | macsec154 | macsecble]&&&&全部:阅读所有页面(默认)。输出到文件。&&&&p(%页%):阅读给定页面。输出到文件。&&&&ADDR(0X%地址%,%长度%):&&&&&&&&&&&&&&&&&&&从给定的地址读取给定的长度。&&&&macpri:读取主要IEEE 802.15.4 MAC地址。&&&&macpri154:读主要IEEE 802.15.4 MAC地址。&&&&macprible:读取主BLE MAC地址。&&&&macsec:读取次要IEEE 802.15.4 MAC地址。&&&&macsec154:读取次要IEEE 802.15.4 MAC地址。&&&&macsecble:读取Secondary BLE MAC地址。&&{-w | --write} {macpri | macsec | macsec154 | macsecble | ccfg | addr | p}&&&&macpri = 01.02.03.04.05.06.07.08:&&&&&&&&&&&&&&&&&&&主节目IEEE 802.15.4 MAC地址。&&&&&&&&&&&&&&&&&&&主要地址的写入仅支持CC2538和&&&&&&&&&&&&&&&&&&&只有信息页面没有被锁定。&&&&macsec = 01.02.03.04.05.06.07.08或&&&&macsec154 = 01.02.03.04.05.06.07.08:&&&&&&&&&&&&&&&&&&程序次要IEEE 802.15.4 MAC地址。&&&&macsecble = 01.02.03.04.05.06:&&&&&&&&&&&&&&&&&&程序二级BLE MAC地址。&&&&ccfg({wpp(%pages%)| ldbg | disbl})&&&&&&&&&&以下选项的组合是可能的,必须分开&&&&&&&&&&通过','&&&&&&&&&&wpp =%pages%:编程具有页面锁定的CCFG区域&&&&&&&&&&&&&&&&&&&&&&&&给定页面的位。&&&&&&&&&&ldbg:程序CCFG区域为bit&&&&&&&&&&&&&&&&&&&&&&&&锁定调试接口&&&&&&&&&&disbl:程序CCFG区域与位&&&&&&&&&&&&&&&&&&&&&&&&禁用引导加载程序接口&&&&ADDR(0X%地址%,%长度%)= 0X%值%&&&&&&&&&&用给定的值填充闪存中的地址范围。&&&&&&&&&&该值必须以一个字节的十六进制数给出&&&&P(%页%)= 0X%值%&&&&&&&&&&用给定的值填充Flash中的页面范围。&&&&&&&&&&该值必须以一个字节的十六进制数给出&&{-k | --keep} {mac | macble | mac154&macble | CCFG}&&&&mac:从Target设备保留(或保留)IEEE Mac地址。&&&&macble:从Target设备保留(或保留)Ble Mac地址。&&&&mac154&macble:从目标设备保留(或保留)IEE和Ble Mac地址。&&&&ccfg:保持(或保留)从目标设备完成CCFG区域。&&{-c | --change} {mac | mac154 | macble | efk | ldbg | wpp | disbl}&&&&选项的组合是可能的,必须分开&&&&通过','&&&&mac = 01.02.03.04.05.06.07.08或&&&&mac154 = 01.02.03.04.05.06.07.08:&&&&&&&&&&&&&&&&&&&使用IEEE 802.15.4 MAC地址更改(补丁)闪存映像。&&&&macble = 01.02.03.04.05.06:&&&&&&&&&&&&&&&&&&&使用BLE MAC地址更改(补丁)闪存映像。&&&&mac154 = 01.02.03.04.05.06.07.08 macble = 01.02.03.04.05.06:&&&&&&&&&&&&&&&&&&&使用两个地址更改(补丁)闪存映像。&&&&ekf(%file%,%address%):&&&&&&&&&&&&&&&&&&&使用加密密钥数据更改(补丁)闪存映像。&&&&&&&&&&&&&&&&&&&具有加密密钥证书和闪存的文件&&&&&&&&&&&&&&&&&&&必须给出地址。&&&&WPP(%页数%):&&&&&&&&&&&&&&&&&&&更改(补丁)CCFG区域在闪存图像与页锁定&&&&&&&&&&&&&&&&&&&给定页面的位。&&&&ldbg:&&&&&&&&&&&&&&&&&&&更改(补丁)闪存映像中的CCFG区域&&&&&&&&&&&&&&&&&&&锁定调试接口&&&&disbl:&&&&&&&&&&&&&&&&&&&更改(补丁)闪存映像中的CCFG区域&&&&&&&&&&&&&&&&&&&禁用引导加载程序接口&&{-rs | --reset} [normal | 无| 调试| 硬| pin | pinHib]&&&&引脚复位是默认值。&&&&有关详细信息,请参阅帮助文档&&&&描述不同的重置选项。&&&&复位动作必须与擦除或程序动作相结合。&&{-j4 | --jtag4}&&&&使用4针jtag。适用于XDS100v3 / XDS200的选件,作为2引脚cJTAG&&&&这些模拟器的默认值。&&{-up | --updateEmulator}&&&&更新仿真器上的固件。选项适用于XDS110,不能&&&&结合其他行动。更新过程中请勿拔下调试探头。-------------------------------------------------- -----------------------------文件:{-f | --file}%file%&&&%file%:完全或相对路径。例如C:\ myfolder \ test.bin。&&&&&&&&&&&&带有空格的路径名必须用引号字符括起来。&&&&&&&&&&&&例如“C:\ myfolder \ my test.bin”&&&&&&&&&&&&或“C:\ Program Files \ myfolder \ test.bin”-------------------------------------------------- -----------------------------地址:{-a | &- 地址} [0x]%地址%&&%地址%:开始编程的Flash地址。-------------------------------------------------- -----------------------------例子:& srfprog -ls& srfprog -ls all& srfprog -ls auto& srfprog -t lsidx(0)-e all& srfprog -t lsidx(0)-r macsec& srfprog -t lsidx(0)-r all -f C:\ myfolder \ readback.bin& srfprog -t lsidx(0)-rp(0-4)-f C:\ myfolder \ readback.bin& srfprog -t lsidx(0)-r addr(0x)& srfprog -t lsidx(0)-w macsec = 01.02.03.04.05.06.07.08& srfprog -t lsidx(0)-e pif -p epfw(0)-f C:\ myfolder \ test.bin -a 0x200000& srfprog -t lsidx(0)-e pif -p epfw(0)-v rb -f C:\ myfolder \ test.bin -a 0x200000& srfprog -t lsidx(0)-e all -p -v rb epfw(0x55)-f C:\ myfolder \ test.bin -a 0x200000& srfprog -t lsidx(0)-e all -p -v rb ep(0-1)-f C:\ myfolder \ test.bin -a 0x200000& srfprog -t lsidx(0)-e pif -p epfw(0)-v crc -f C:\ myfolder \ test.bin -a 0x200000 -k mac& srfprog -t lsidx(0)-e pif -p epfw(0)-v crc -f C:\ myfolder \ test.bin -a 0x200000 -c mac = 01.02.03.04.05.06.07.08& srfprog -t lsidx(0)-e pif -p epfw(0)-v crc -f C:\ myfolder \ test.hex -c ekf(certificate.txt,0x27FF6C)& srfprog -t soc(XDS-06EBA,CC2538)-e -p -v -fc:\ test.hex& srfprog -t soc(COM1,CC2640)-e -p -v -fc:\ test.hex
--------------------------------------------------
---------------------
2.然后我们用bin下的srfprog.exe在cmd下烧录是可以的
烧录过程:
3.我们可以单独将srfprog.exe和他的配置文件拷贝出来用python调用下一个烧录工具(dill文件我们可以将srfprog.exe考出后双击就会提醒我们缺哪些dill文件,然后我们拷贝出来即可)
python中调用cmd命令
&烧录工具:
TA的最新馆藏[转]&
喜欢该文的人也喜欢CC2640R2F&BLE5.0(49)
Off-Chip OAD
本节描述了分离镜像的片外OAD(Split Image Off-Chip OAD)和片外OAD库(Library off-chip OAD)之间的差异。片外OAD利用一个外部的flash储存新的镜像在下载和镜像选择/更新期间。
以下处理过程是片外OAD独有的:
片外OAD的限制和要求片外OAD内存布局BIM用于片外OAD开箱即用(仅适用于分离镜像的片外OAD)将片外OAD添加到现有项目中
支持协议栈镜像
片外OAD支持分离镜像和协议栈库编译配置。这意味着用户可以在一个OAD期间更新应用程序和协议栈。Stack和stack_library镜像类型由片外OAD支持,有关每个OAD的优点的说明,请参见以下部分。
注意:外OAD分为了 Split Image Off-Chip OAD和Library Off-Chip OAD。前者是协议栈和应用程序有固定的flash边界。后者没有固定这个边界,Stack的大小是在编译之后确定的。了解TI在存储架构的设计参考
Split Image Off-Chip OAD
Split Image Off-Chip OAD具有以下优点:
OAD镜像的传输时间和灵活性。
开发人员可以选择使用哪种类型的OAD镜像来执行OAD。如果希望减少OAD传输时间,开发人员可以选择生成仅应用程序的OAD镜像。如果开发人员希望以额外的传输时间为代价升级应用程序以及协议栈,则可以选择生成App &#43; Stack OAD镜像。
SimpleLink CC2640R2 SDK参考示例
在SimpleLink CC2640R2 SDK中提供了simple_peripheral_oad_offchip项目用于片外OAD的实现,以供参考。
Split Image Off-Chip OAD具有以下缺点:
增加Flash使用量
镜像边界的引入可能会删除多达几页的flash,因为它是按页对齐。Split Image Off-Chip OAD也会禁用应用程序和堆栈的全局链接,进一步降低闪存可用性。
Library Off-Chip OAD
Library Off-Chip OAD库具有以下优点:
减少flash使用量
Library Off-Chip OAD库具有以下缺点:
OAD传输时间长和镜像文件过大没有参考示例
虽然没有参考示例,但是后面文档中将会提供使用 Library Off-Chip OAD详细的步骤。
Library Off-Chip OAD的限制和要求
为了能正常执行片外OAD,目标系统必须包含以下几点:
需要一个额外的存储设备,至少需要128K的容量。支持多个OAD镜像文件存储,容量为n128&#43;(nEXT_FL_PAGE_SIZE),n&=1。
空闲的GPIO口连接外部存储器(例如SPI)
足够的空间来保存BIM的第31页(4K)的全部内容(即Metadata)。
片外OAD内存布局如下
如图所示,片外OAD升级使用内部flash和外部flash共同完成。内部FLASH包含中断向量,嵌入了OAD配置文件的应用程序,BLE堆栈镜像,NV存储区域,BIM和CCFG。
外部存储使用的是512KB的flash。最多能保存3个OAD镜像和3个与OAD镜像相对应的元数据。这部分代码可以在ext_flash_layout.h中看见。每个image占位大小为128KB,每一个镜像(仅限APP或APP&#43;Stack)必须支持OAD配置文件,也就是必须支持OAD功能,以便在复制到片内flash上后进一步启用OAD。
红色区域是永久驻留在flash上的,不会通过OAD进行升级。通过BIM进行镜像选择。防止升级失败后使用一个错误的OAD升级文件。
BIM用于片外OAD
警告BIM将链接CCFG,CCFG用户可以配置,通过写入IMAGE_VALID_CONF为0x1F000,意味着程序启动后自动执行BIM部分代码而不是应用程序代码。BIM将会启动应用程序代码,OAD应用程序部分不需要包含CCFG,这是CC2640R2F的特性,也是也CC2650的区别。
BIM要求在OAD升级中驻留在FLASH中,以便提供一个故障检测机制,用于确定时候运行现有的应用程序镜像还是从外部flash中拷贝新的镜像到内部flash中。当有新的镜像存在在外部FLASH中,BIM对镜像进行CRC校验,如果CRC校验通过,并且没有定义NO_COPY宏,BIM将新的镜像复制到内部flash中,如果定义了NO_COPY宏,BIM将不会加载任何新镜像。
开箱即用(仅适用于分离镜像的Split Image Off-Chip OAD)
本节使用IAR进行开箱即用的演示
打开bim_oad_offchip项目, 编译并下载到开发板上。打开simple_peripheral_oad_offchip工程,编译下载协议栈,然后编译下载应用程序。打开BTool可以发现设备正在广播。按照 BToll OAD Procedure中详细步骤进行OAD升级。
按照上面步骤即可进行Split Image Off-Chip OAD升级,如果有疑问可以参考部分。
注意:在BTool选升级文件的时候确保选在*_oad.bin文件,因为此文件包含元数据。默认情况下,这些文件可以在\examples\rtos\CC2640R2_LAUNCHXL\ble5stack\simple_peripheral_oad_offchip\tirtos\iar\app\FlashROM_OAD_Offchip\Exe下找到。
注意:OAD成功后,可能需要重启设备才能再次广播。
将OAD添加在现有项目中(Peripheral)
本节演示如何通过修改Simple_Peripheral添加OAD功能,并且Simple_Peripheral是一个典型的Library Off-Chip程序。
bim_oad_offchip依旧作为BIM程序,不需要修改, 下载进开发板。将OAD配置文件添加到Simple_Peripheral程序中。分别是:oad.c、oad.h、oad_target.h、oad_target_external_flash.c。这些文件在原始的Simple_Peripheral工程中是从编译中排出了的,将它添加进来。右键对应要添加的文件,取消掉Exclude from build。如下图所示。
注意:可以在 \source\ti\ble5stack\profiles\oad\cc26xx中找到这些文件。
将外部Flash中间件添加到应用程序项目,分别是ExtFlash.c、ExtFlash.h。按照上图中同样的方法进行添加。添加include路径。OAD配置文件路径在 \source\ti\ble5stack\profiles\oad\cc26xx。使用适当的片外OAD连接器文件。按照步骤2中的方法取消掉排出编译选项。
IAR使用 cc26xx_app_oad.icf 仅适用于App App,App &#43; StackCCS使用 cc26xx_app_oad.cmd 适用于App App,App &#43; Stack,Library
在C/C&#43;&#43; Compiler中添加下面宏定义。
FEATURE_OADHAL_IMAGE_A
添加OAD_IMG_A=1到您的pre-build。
修改Post_build命令行为:
$TOOLS_BLE_DIR$\oad\oad_image_tool.exe $PROJ_DIR$\FlashROM_StackLibrary\Exe\ble5_simple_peripheral_cc2640r2lp_app_FlashROM_StackLibrary.hex -t offchip -i app --imgVer 0 -ob $PROJ_DIR$\FlashROM_StackLibrary\Exe\hid_adv_remote_cc2640r2rc_app.bin -m 0x0000 --r
该命令在编译后执行,生成bin文件,也就是OAD升级中需要的文件。经过以上步骤即可完成在现有项目中添加OAD功能。编译通过后可直接下载进入开发板,然后修改步骤6和步骤7中的HAL_IMAGE_A为HAL_IMAGE_B,OAD_IMG_A=1为OAD_IMG_B=1。生成对应的镜像文件之后使用BTool工具下载最新的固件。下载步骤参考&a href=&....\oad\appendix\appendix.html&附录部分。
文章所有代码、工具、文档开源。加入我们获取更多支持,共同研究CC2640R2F&BLE5.0。
Copyright 2017, 成都乐控畅联科技有限公司.
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:3732次
排名:千里之外
原创:50篇昇润科技将在三月底推出CC2640R2 SDK开发平台_网易新闻
昇润科技将在三月底推出CC2640R2 SDK开发平台
用微信扫码二维码
分享至好友和朋友圈
(原标题:昇润科技将在三月底推出CC2640R2 SDK开发平台)
2016年12月,蓝牙技术联盟(bluetooth SIG)正式发布了全新的蓝牙5.0标准,这对之前发布的蓝牙4.2标准而言无疑将是一次重大升级。新的蓝牙5.0标准在传输距离,传输速度,广播容量,多设备互连互控等方面的巨大改进将极大的弥补其之前的技术弱势,进一步巩固和强化蓝牙在无线传输技术中的地位。新的技术特性将使其在智能家居,智慧出行,智慧医疗,穿戴设备,工业控制及物联网(IOT)的其他领域得到更加广泛的应用。TI推出CC2640的更新产品CC2640R2F将率先支持Bluetooth 5继推出CC2541之后,凭借着对行业的深刻理解与洞察, 2015年,TI推出了全新的高度集成、高灵活性SimpleLink
超低功耗CC2640无线微控制器(MCU),并且在设计时充分考虑了Bluetooth 5将会带来的技术变革,因此,CC2640目前已经能够发射和接收具有更长范围和更快速度的物理RF调制格式。而在 SIG正式发布Bluetooth 5核心规格之后,TI又推出CC2640的更新产品CC2640R2F,以全面支持新的特性。CC2640R2F将在ROM中采用蓝牙4.2协议栈,并将率先支持未来蓝牙5 SDK,而且增强了固件升级功能。更大的可用空间能支持更复杂的应用,CC2640R2F的FLASH中将有80+KB的应用代码空间供开发者使用,是中型BLE应用的理想之选。昇润科技为应用开发人员提供CC2640R2 SDK开发平台无线连接领域的从业人员对德州仪器并不陌生,其SimpleLink超低功耗无线MCU可提供业内领先的RF性能,相较于同类产品具备更宽泛的连接范围和更稳健的连通性。为了方便开发人员使用,TI发布了相关的产品演示以及支持全新蓝牙低功耗(Bluetooth low energy)标准的CC2640R2F软件开发套件(SDK)。对于大部分行业从业人员而言,应用开发并非难事,但是,熟悉蓝牙协议栈的开发人员数量相对甚少,且国内的开发人员,要熟悉TI的SDK,又需要非常长的周期,严重耽误产品的快速上市。为了方便国内的开发人员快速的将高性能的CC2640及CC2640R2F运用到产品中去,进一步提升用户的体验,拥有多年蓝牙行业SDK开发经验的深圳市昇润科技有限公司将TI的SDK通过优化和转化,形成了具有昇润特色的蓝牙CC2640R2 SDK开发工具套件,向智能家居,智慧出行,智慧医疗,穿戴设备,工业控制及物联网(IOT)其他领域的应用开发工程师提供,更加便捷易用,并将率先支持蓝牙5.0。据悉,深圳市昇润科技有限公司(以下简称“昇润科技”)是一家以技术为核心,专注于为客户提供蓝牙BLE解决方案的ODM公司。自成立以来,昇润科技始终专注于物联网关键技术-无线组网技术的研发和创新,构建自有研发,生产测试配套体系,每年投入大量研发经费,形成新型蓝牙技术开发、技术论证、芯片应用开发、模块化产品策划、研发、生产、营销、售后一体化模式,为客户提供行业关键共性解决方案,目前已累计获得十余项实用新型专利,软件著作权及发明专利,并通过ISO9001、美国FCC、欧盟CE、ROHS、BQB等多项国际认证,与世界知名半导体厂商德州仪器(TI)建立了长期稳固的战略合作关系。作为德州仪器在国内非常重要的第三方合作伙伴(IDH),昇润科技更希望通过将TI的SDK本土化,为国内的应用开发工程师,提供一个更加简单快捷的开发平台,加速蓝牙产品的开发上市。昇润CC2640R2 SDK的优势昇润CC2640R2 SDK根据行业应用,简化TI提供的软件开发套件并进行封装之后,不需要应用开发人员接触复杂的蓝牙协议栈,只需要调用相应的API接口即可开发各类蓝牙产品。CC2640R2 SDK将内置蓝牙4.2协议栈,后续将率先升级蓝牙5.0,为蓝牙应用开发者提供更简洁的蓝牙参数设置,和更加稳定可靠的OAD升级方式,以及类似串口数据收发的蓝牙交互模式,开发工具中还附有中文注释及开发示例,蓝牙应用开发人员上手更快。昇润CC2640R2 SDK拥有完整的蓝牙参数验证,适配安卓和IOS两大平台的市面主流机型,不仅如此,昇润CC2640R2 SDK中还将包含生产测试程序,开发人员不需要再设计蓝牙测试程序,极大的简化蓝牙应用开发人员的开发步骤。昇润CC2640R2 SDK解决的问题一、&蓝牙固件二、&双平台蓝牙开发SDK三、&CC2640驱动,已有驱动如下:GPIO1、&CC2640 拥有丰富的GPIO 资源,满足各种开发需求;2、&最多可提供31 个GPIO 供开发人员使用;3、&支持多种配置比如上下拉、开漏、推挽输出等;4、&每个GPIO 都可以配置中断功能,中断的方式也可以灵活配置,比如上升沿中断、下降沿中断、上升下降沿都中断等;5、&每个GPIO 都可以任意映射片内的外设资源,比如PWM输出口,ADC 输入口等;UART1、&具备可编程的波特率发生器,最高速率高达3 M2、&具备独立的32 8 发送(TX)和32 12 接收(RX) FIFO 缓冲器,可以减少CPU 的中断处理动作;3、&具备开始、停止和奇偶校验的标准异步通信位;4、&支持CTS 和RTS 功能;5、&使用uDMA 传输数据;6、&具备可编程的硬件流控制;Timer(包含PWM/定时/输入捕获)1、&CC2640 拥有 8 个 16 bit 的定时器,每个定时器都可单独配置成不同的模式使用;2、&支持可编程的计数方式,另外它支持同时启动 1 个以上的定时器,适用一些特殊的使用场合;ADC1、&CC2640 拥有8 路12bit 的ADC 通道;2、&支持200Ksamples 的采样率;3、&时钟源可以自由设置,包括定时器,I/O 引脚,软件,模拟比较器和RTC;4、&可以采集到片内温度传感器的当前温度值以及通过内部电路采集到电源电压,方便实现电池的管理;5、&内部参考电源支持1.3V、1.425V、1.43V、1.435V、1.44V、1.6V、4.3V,但不支持外部参考电压;UTC1、&CC2640 的 RTC 时钟来源于 32Khz 的外部晶振,在不断电的情况下会一直自动计数;2、&拥有一个 70bit 的可编程的计数器以及三个通用的通道,配合它的比较寄存器使用,可以产生与时间相关的通知来告知应用层,以实现一些必要的功能。IIC1、&IIC 接口可用于与其他支持 IIC 协议的器件通信,如 ROM, LCD 及多种传感器等;2、&普通模式速率为 100KHz,快速模式速率为 400KHz;SPI1、&时钟线SCLK、主机输入从机输出数据线MISO、主机输出从机输入数据线MOSI和片选线CSN四线制同步串行接口,支持高速,全双工,同步的通信总线;2、&主机最高速率支持24 M3、&从机最高速率可达 4M4、&有频率可编程以及写冲突保护;WatchDog1、&1ms~2863311 ms的超宽溢出时间范围设置,并可随时重新调整装载值;2、&MCU睡眠状态时,看门狗的溢出计时器暂停工作;3、&程序跑飞时复位MCU以保证设备的正常运行;Wechat1、&包含了微信的 AirSync 的蓝牙通信协议;2、&自动处理被微信发现、与微信握手连接、数据的蓝牙分包;3、&收,发数据只需初始化相关参数并调用相应的API即可;昇润CC2640R2 SDK的构成
昇润CC2640R2 SDK包含了IAR仿真调试软件、烧录软件、TTC SDK安装程序、TTC SDK开发套件、TTC SDK开发使用说明文档、还有Android BLE API使用说明文档示例、IOS BLE API使用说明文档及示例,除此之外,昇润科技还辅以配套的学习教程,更加方便蓝牙应用开发者快速上手。对于希望通过Bluetooth 5简易升级通道来搭建灵活解决方案的开发人员而言,可以在昇润科技目前已经推出的CC2640 SDK的基础上开发,CC2640R2 SDK在3月底将全面向广大的蓝牙应用开发人员开放。
(原标题:昇润科技将在三月底推出CC2640R2 SDK开发平台)
本文来源:山西新闻网-三晋都市报
责任编辑:王晓易_NE0011
用微信扫码二维码
分享至好友和朋友圈
加载更多新闻
热门产品:   
:        
:         
热门影院:
阅读下一篇
用微信扫描二维码
分享至好友和朋友圈

我要回帖

更多关于 sd卡烧录镜像文件下载 的文章

 

随机推荐