CC2652R ZigBee OTA 调试记录 改为支持 AT25DF041B 512KB flash

TI原始的参考设计,使用了一颗宏旺微电子的 MX25R8035F,容量是1MB的,优点就是宽电压,缺点价格偏贵,零售价都在7RMB左右,而且很多代理商都缺货,所以不得不考虑更换其他品牌的,刚好Adesto有一颗非常适合,就是AT25DF041B,UDFN的封装体积很有优势。

  • CC2652R的OTA分为on-chip和off-chip两种方案,on-chip就是OTA直接下载到芯片内部,目前SDK(截至2019 Q2)好像还没支持,另外芯片撑死也就300多KB的flash,估计支持起来有些困难。off-chip就是OTA的时候先把firmware下载到外部spi flash上,然后做相应标记,重启的时候BIM(bootloader)再拷贝到内部flash,只好退而求其次使用off-chip方案了。

据说CC2652R off-chip OTA方案最小只要256KB就足够支持OTA了,因为编译出来的.zigbee升级包,也就170KB左右,所以我们选择了一颗宽电压的512KB的flash,调试过程中遇到如下问题。

  • BIM部分的相关参数要修改为,例如单个sector的大小,以及region总容量等,另外Adesto的flash默认是sector保护的,不能erase/write,必须先解锁
  • application部分代码也要做相应修改,另外TI的代码有bug,基本上需要费很大劲才能成功。

你可能感兴趣的:(嵌入式软件)