TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2642R: cc2642r1f如何升级非ti芯片内的程序

Part Number:CC2642ROther Parts Discussed in Thread:CC2652R7

因为官方的OAD不能完全满足我们的项目要求(还有同一块PCB板上的另外一颗非TI的MCU内的程序,也想通过cc2642来进行OTA),现在要自己写OTA升级程序,我是想参考官方的OAD改动。可是这个程序定位(把用户程序和升级程序分别放在FLASH哪儿)把我难住了:

我现在要划分两个FLASH区域,一个存放用户程序,一个存放引导程序(就是完成所有下载事项的程序,包括下载后的BIN存放,判断跳转等),我怎么划分呢?是通过.cfg,还是ccs平台,还是.syscfg ?怎么实现?在哪里操作/实现这个划分事件功能?

Janet xu:

简言之:如果想cc2642可以下载任何一个bin文件,怎么来做这个OTA升级功能呢?不需要TI 官方的签名之类的防错防伪措施。

,

YiKai Chen:

如果是要做cc2642 OTA升级功能,建議用官方的,OTA基本上大同小異,你自己做,還是得看懂官方的OTA邏輯

,

Kevin Qiu1:

可以选择unsecure,这样就不会有签名

OAD详细说明查看这里:

https://dev.ti.com/tirex/content/simplelink_cc13xx_cc26xx_sdk_5_30_01_01/docs/ble5stack/ble_user_guide/html/ble-stack-5.x-guide/ble5-oad-index-cc13xx_cc26xx.html

CC2652R1 flash只有352K,基本不可能使用onchip的方式来实现,需要使用offchip的方式将image存在外部flash上

所以实现起来还是比较复杂的,如果想用onchip,可以看下CC2652R7,它的flash有704K

,

Janet xu:

我想把TI的cc2642内部flash划分成两个区域,分别存放运行两个完全独立的程序(我们的产品设计是:一个蓝牙主机模式,终端用户程序。一个蓝牙从机模式,负责OTA升级事项。),可是这个FLASH配置划分,可是难住我了,感觉.cmd,.cfg,以及ccs平台预宏定义等等,都关联这个,好麻烦。由没有简单点的办法?

,

Janet xu:

OTA思路是大同小异,可是ti这个FLASH划分,就无比复杂,不够简洁清晰

,

Janet xu:

我们的用户程序很小的。我用官方的例程和官方APP(或BTool),已经完全可以使用onchip的方式进行OAD了。怎么升级都可以的。

,

Janet xu:

我试试unsecure,看下行不行,谢谢

,

Kevin Qiu1:

好的,你先试一下,如有问题再反馈

,

Janet xu:

你好!我的persistent_app工程无法设置成unsecure模式,编译产生不了hex文件

,

Kevin Qiu1:

按照这里的步骤禁用Secure OAD:https://dev.ti.com/tirex/content/simplelink_cc13xx_cc26xx_sdk_5_30_01_01/docs/ble5stack/ble_user_guide/html/ble-stack-oad/setting-up-environment.html#disable-secure-oad

Janet xu 说:我的persistent_app工程无法设置成unsecure模式,编译产生不了hex文件

我测试没有问题,可以生成hex和bin文件

,

Janet xu:

你好!请教一下:

1、如果我BIM工程选择了Release_unsecure,是不是persistent_app工程及用户程序工程(multi_role)也必须都使用Release_unsecure模式?如果我的用户程序必须使用Release模式,是不是没法使用不加密的OTA升级了(我现在是在改造使用OAD)?

2、我之前用纯官方例程,已经成功OAD了,但是BIM工程选择了debug,persistent_app工程及用户程序工程(multi_role)选的是Release。最初BIM工程也是用Release模式,就怎么也OAD不成功。

3、BIM,persistent_app工程及用户程序工程(multi_role),必须在同一个workspace里编译吗?

谢谢!

,

Kevin Qiu1:

1.我没有这样修改过,但是应该保持一致

2.这个也要保持一致,都是用release或者debug

3.没有这个限制

,

Janet xu:

我的persistent_app工程,设成release_unsecure后,就总是编译报错"C:/ti/simplelink_cc13x2_26x2_sdk_5_20_00_52/examples/rtos/CC26X2R1_LAUNCHXLe5stack/persistent_app/tirtos/ccs/cc13x2_cc26x2_app.cmd", line 250: error #10099-D: program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. placement with alignment fails for section "GROUP_1" size 0x208c.  Available memory ranges:   FLASH_IMG_HDR   size: 0x50         unused: 0x50         max hole: 0x50      error #10010: errors encountered during linking; "persistent_app_CC26X2R1_LAUNCHXL_tirtos_ccs.out" not built

不知道如何解决.

谢谢

,

Kevin Qiu1:

 GROUP所占的空间超出了 FLASH_IMG_HDR的范围,检查flash使用情况

,

Janet xu:

可是我其它什么都不更改,只把release_unsecure改成release后,就能编译通过

,

Janet xu:

,

Janet xu:

,

Janet xu:

 SDK:simplelink_cc13x2_26x2_sdk_5_20_00_52

,

Janet xu:

,

Janet xu:

 我导入官方程序后就改动了这几个设置,其它没有动

,

Janet xu:

,

Kevin Qiu1:

除了最后面两条回复中的修改,还有修改TOOLS/defines文件中.opt文件中的-DSECURITY

其他所有都不必改动,release不必改为release_unsecure

,

Janet xu:

非常感谢,我试试

,

Janet xu:

请问一下:还有修改TOOLS/defines文件中.opt文件中的-DSECURITY

这个怎么修改?直接去掉-DSECURITY,还是用 //  or  ;  屏蔽掉?

谢谢 

,

Kevin Qiu1:

直接去掉-DSECURITY或者改为-DxSECURITY

,

Janet xu:

非常感谢!persistent_app非安全版编译通过了

,

Kevin Qiu1:

问题已得到解决,将关闭此帖

如有其他问题,请使用右上角对应的按钮开一个新帖

赞(0)
未经允许不得转载:TI中文支持网 » CC2642R: cc2642r1f如何升级非ti芯片内的程序
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1