This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2652R: 关于onchip OAD升级的几个疑问

Part Number: CC2652R
Other Parts Discussed in Thread: UNIFLASH, SYSCONFIG

1、根据BLE5-Stack用户向导中的OAD章节中“用于片上OAD的BIM”中的介绍,在复位重启后,BIM根据镜像头中的镜像验证字段(4个字节)中0的奇偶数决定执行哪个应用程序。这个镜像验证字段是用户应用程序中的,在OAD过程中会修改它?其中又说验证字段是一个共享RAM变量,有点疑惑

2、用于升级的永久应用程序实现OAD的配置文件,用于升级,它需要用uniflash手动加载到芯片中吗?另外,它的flash中的地址如何确定

3、simple_preipheral_CC26x2R1_LAUNCHEL_tirots_ticlang工程中可以通过在syscfg文件中TI DEVICES -> Device Configuration中配置CCFG。而在bim工程中也可以配置CCFG,那么我先刷bim,再刷simple_preipheral工程,会不会将bim中设置的CCFG覆盖掉。或者先刷simple_preipheral工程,再刷bim,也会将simple_preipheral中设置的CCFG覆盖掉

4、片上OAD升级时,下载的程序是放在空闲的flash区域吗?它怎么知道哪些flash区域是空闲的?在下载之前它会判断空闲的flash能否容纳下载的程序吗

5、CC2652R1总共有352KB,最后一个扇区8KB需要留给BIM程序,那么整个flash还剩344KB,永久应用程序占120KB、simple_preipheral占140KB,则剩余空间只有84KB,无法容纳升级的另一个simple_preipheral程序

  • 您好我们已收到您的问题并升级到英文论坛,温馨提示您由于圣诞节及新年假期,英文论坛回复将稍慢,敬请谅解!

  • 问题1:通过查看bim_onchip的工程中bim_main.c中的main函数中的实现,这个镜像验证字段是用户应用程序镜像头中的,它在第0页,地址为0x00000000的地方。bim启动时每次都会先扫描它,如果各种检查通过(包括CRC、安全性验证、验证字段偶数个0等),则直接运行用户应用程序,如果出错,则继续寻找持久应用程序,如果找到则运行它,如果找不到则进入低功耗。

    问题2:需要手动刷持久应用程序,名称为persistent_app,在\ti\simplelink_cc13x2_26x2_sdk_5_20_00_52\examples\rtos\CC26X2R1_LAUNCHXL\ble5stack中,默认地址是0x38000,在persistent_app中配置

    问题4和问题5:下载的程序直接覆盖之前的应用程序,即从第0页开始下载,所以,默认可以容纳小于0x38000大小的程序

    问题3还没有找到答案

  • 您好,以下为帮您升级到英文论坛的帖子链接:

    https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1065035/cc2652r-onchip-oad-upgrade-issue

    您新update的回复我们会帮您跟进到英文帖子中。

  • 3、simple_preipheral_CC26x2R1_LAUNCHEL_tirots_ticlang工程中可以通过在syscfg文件中TI DEVICES -> Device Configuration中配置CCFG。而在bim工程中也可以配置CCFG,那么我先刷bim,再刷simple_preipheral工程,会不会将bim中设置的CCFG覆盖掉。或者先刷simple_preipheral工程,再刷bim,也会将simple_preipheral中设置的CCFG覆盖掉

    尽管此选项出现在 SysConfig 中,但它在 Simple_peripheral 片上加载项目 (在 SDK 5.30 上测试) 中没办法选中。 BIM 拥有用于片上 OAD 的 CCFG area,因此也就不会出现上述冲突。 以及工程师无法选中 "Enable SysConfig CCFG Configuration" 复选框。

    再次抱歉给您带来的不便!

  • 我的SDK是5.20版本,在simple_peripheral_oad_onchip.syscfg中是可以配置CCFG的,如图

  • 您好,是这样的,虽然这些选项好像是可以使用 SysConfig 进行配置,但您会发现该工具不会生成覆盖条目所需的文件 (ti_devices_config.c)。 也就是说对于 Simple_peripheral_onchip 来说, SysConfig 中的任何更改都不会对 CCFG 进行。

    这里很容易误导人,但我们已经在最新的SDK 更新到 5.30时解决了该问题。

  • 收到,非常感谢您的答复