CC2541 OAD总结

原创 2015年07月08日 11:01:30

1、2541的OAD要加上ccservice这个profile才能工作,但源码工程没包含。

2、OAD的工作模式是:BIM+A+B

     BIM根据FLASH里的一个掩码来选择启动A还是B,一般是用A来作OAD升级程序,B是正常使用的固件。

     当固件要更新流程是:

    B收到手机软件端命令,自己复位到A,然后手机软件与A连接,进行OAD,下载更新完A会自动复位到B运行。

void enter_oad(void)
{
  
    GAPRole_TerminateConnection(); 
#ifdef FEATURE_OAD    
    uint16 crc[2] = { 0x0000, 0xFFFF };
    uint16 addr = OAD_IMG_R_PAGE * ((uint16)(HAL_FLASH_PAGE_SIZE / HAL_FLASH_WORD_SIZE)) + OAD_IMG_CRC_OSET / HAL_FLASH_WORD_SIZE;
    HalFlashWrite(addr, (uint8 *)crc, 1);
#endif
    HAL_SYSTEM_RESET();
}

3、OAD过程android和ios中会存在着service的缓存的更新, 软件端要先订阅0x2a05 (services changed)这个服务,然后设备端调用GATTServApp_SendServiceChangedInd

这样软件就会自动更新服务缓存。

版权声明:本文为博主原创文章,未经博主允许不得转载。

【CC2541】BLE空中升级——新旧固件(imagA与imageB)的链接文件分析

参考链接:BLE空中升级-新旧固件(imagA与imageB)的链接文件分析一、cc254x_f256_imgA.xcl分析1、段的定义(1)IDATA段空间范围定义a.定义IDATA的起始地址为0x...
  • u014647208
  • u014647208
  • 2016年12月13日 12:19
  • 1235

【BLE】CC2541之OAD

本篇以SimpleBLEPeripheral工程为例,介绍如何进行OAD升级
  • feilusia
  • feilusia
  • 2015年12月14日 05:42
  • 7414

CC2541之OAD问题总结

第一篇博客,为记录、为交流。 一、简介 本篇以SimpleBLEPeripheral工程为例,使用空中升级功能。 二、实验平台 协议栈版本:BLE-CC254x-1.4...
  • wqw1233
  • wqw1233
  • 2015年12月11日 14:46
  • 1138

CC2541 Large OAD 空中升级方式

CC2541 OAD 有两种方式,一种是Flash对半分成Image A和Image B的,另一种是Large Image OAD. Large Image OAD 这种方式的好处是可以通过压缩Ima...
  • xiaoshideyuxiang
  • xiaoshideyuxiang
  • 2016年03月11日 01:21
  • 3731

【BLE】CC2541之Large OAD

本篇以SimpleBLEPeripheral工程为例,介绍如何进行Large OAD升级
  • feilusia
  • feilusia
  • 2016年08月18日 03:40
  • 4794

CC2541 OAD无线升级遇到问题总结

最近做BLE CC2541 OAD空中升级,鉴于256K的flash,如果编译代码code大的话,存储空间显得有些力不从心。有的人会采用双CPU工作,主从形式,不过显得有些奢侈。Flash分成三个区:...
  • u012246376
  • u012246376
  • 2015年09月03日 09:19
  • 2415

蓝牙4.0BLE cc2540 cc2541 ios OAD教程(空中更新固件)[原创,多图]

cc2540 cc2541 OAD教程(空中更新固件)为AmoMcu阿莫单片机原创,首发于csdn, 如需转载,请注明出处,谢谢!    如果需要蓝牙4.0BLE开发开发板和资料, 请看这里  h...
  • mzy202
  • mzy202
  • 2014年04月20日 14:47
  • 15693

【BLE】-CC2541 OTA 程序开发手册介绍

1.目的使开发者能够快速的使用TI BLE 协议栈在CC2541 的SOC上进行TI OAD Profile 功能的开发。2.功能概要BLE 协议栈有一个可拓展的特性 OAD,它提供了一种增值服务通过...
  • u014647208
  • u014647208
  • 2016年10月08日 10:56
  • 1477

CC2541之OAD

一、简介 本篇以SimpleBLEPeripheral工程为例,介绍如何进行OAD升级。 二、实验平台 协议栈版本:BLE-CC254x-1.4.0 编译软件: IAR 8.20.2 硬...
  • yi412
  • yi412
  • 2016年04月27日 15:49
  • 1100

CC2541关于OAD空中升级(安卓客户端收不到服务的)

OAD升级关于安卓找不到服务的解决方法
  • edgarshang
  • edgarshang
  • 2017年01月21日 15:14
  • 525
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CC2541 OAD总结
举报原因:
原因补充:

(最多只允许输入30个字)