关于CC2640R2F的OAD升级

一、概念

1、什么是OAD升级

通过蓝牙对MCU进行空中升级。

2、什么是片外OAD升级

利用蓝牙将升级包下载到外部的flash中,然后再重启MCU,MCU启动后,再去外部的flash中读取升级包,最后将拷贝到内部的flash中。

3、CC2640R2F的升级方式

由于CC2640R2F的rom大小有限,以致不支持利用内部flash进行升级,只支持外部flash升级。

4. 工程介绍

片外OAD的例程中有三个工程,分别是:

bim_oad_offchip_cc2640r2lp_app                                   简称为BIM工程

simple_peripheral_cc2640r2lp_app_oad_offchip            简称为APP工程

simple_peripheral_cc2640r2lp_stack_oad_offchip         简称为STACK工程

BIM工程又称为bootlader,是上电执行的第一个工程,在此工程中检查外部flash是否有等待加载入内部flash的image。如果有,则从外部flash加载image;如果没有,则直接跳到APP工程。

APP工程,我们的主要工作是在APP工程完成,我们在APP工程中创建任务,实现所有与功能相关的内容。APP工程在需要使用到STACK实现的相关功能时,就会调用STACK工程的相关内容。

STACK工程,实现蓝牙协议栈和ICALL底层相关内容,例如snv_flash(内部flash)就是在这个工程中实现,单独加载STACK工程run不会有什么作用,stack工程的作用是被APP工程调用。

二、升级过程

1、下载升级包

CC2640R2F运行在APP模式,手机APP通过蓝牙将升级包发送给CC2640R2F,CC2640R2F将升级包存储在外部flash中。

2、拷贝升级包

CC2640R2F在APP模式下载完升级包完成后,手机APP发送重启命令给CC2640R2F,CC2640R2F重启进入BIM模式,在BIM模式下检查外部flash的升级包是否完整,若完整,则将升级包拷贝到CC2640R2F的APP部分并将旧版本APP覆盖。

3、跳转进入APP,升级完成

CC2640R2F将升级包拷贝APP覆盖掉旧版本APP后,跳转进入APP模式,升级完成,可以连接CC2640R2F验证升级是否成功。

你可能感兴趣的:(MCU)