涂鸦WIFI模组WBR3之OTA升级 | 您所在的位置:网站首页 › 涂鸦模块怎么用手机控制 › 涂鸦WIFI模组WBR3之OTA升级 |
一、涂鸦平台 涂鸦平台上传固件版本,并设置OTA升级,点击验证升级选中产品的ID号才能下发固件。 二、程序运行流程(本文MCU为STM32F4,flash采用1M) 1.程序运行流程参考下图: 程序分区如下: bootloader:0~0x8020000 128KB app1 :0x8020000~0x8080000 384KB app2 :0x8080000~0x80E0000 384KB FLAG :0x80E0000~0x8100000 128KB 以上偏移地址分区是根据扇区来分的,FLAG是做为标记判断是否需要升级,执行逻辑就是首先接收OTA数据包,存到app2地址中,接收完OTA固件包之后把FLAG标记,然后软件复位,程序就会跳转到bootloader中,bootloader通过判断FLAG决定是否要升级,最后跳转到APP1中。 三、APP部分 OTA升级部分代码处理如下: unsigned char mcu_firm_update_handle(const unsigned char value[],unsigned long position,unsigned short length) { u32 nbuff=0x55555555; u16 t; u16 i=0; u16 value_cnt=0; u32 temp; if(length == 0) //固件数据发送完成 { STMFLASH_Write(Upgrade_FlashADDR_Flag,&nbuff,1); if(STMFLASH_ReadWord(Upgrade_FlashADDR_Flag) == 0x55555555) { HAL_GPIO_WritePin(GPIOD, GPIO_PIN_9, GPIO_PIN_RESET); } NVIC_SystemReset(); } else { for(t=0;t |
CopyRight 2018-2019 实验室设备网 版权所有 |