我是靠谱客的博主 美丽朋友,最近开发中收集的这篇文章主要介绍STM32 OTA 升级,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

OTA升级

1:实现在线升级整体程序(基于stm32F4)
2:本次为编写关键点记录

bootload 工程事项

1: 前期准备事项
    1>修改ROM大小,该大小是项目的使用的ROM空间也是跳转app的首地址stm32f407使用(0x8000)
    2>编写汇编设置并跳转MSP
        __asm void SET_MSP(uint32_t addr)
        {
            MSR MSP,r0
            BX r14
        }
    3>定义函数指针
        typedef void (*iapfun)(void);
        iapfun jumpapp;
    4>编写跳转函数
        void iap_load_app(uint32_t app_addr)
        {
            //检查栈顶地址是否合法
            if(((*(uint32_t*)app_addr)&0x2FFE0000)==0x20000000)	
	        {
		        jump2app = (iapfun)*(uint32_t*)(app_addr + 4);
		        SET_MSP(*(uint32_t*)app_addr);
		        jump2app();
	        }else
		        printf("栈顶地址错误n");
        }
2: main中判断是否有更新,这里只有跳转处理
 if(flag == "y"){
    if(((*(uint32_t*)(APP1_ADDR+4))&0xFF000000)==0x08000000)
		iap_

最后

以上就是美丽朋友为你收集整理的STM32 OTA 升级的全部内容,希望文章能够帮你解决STM32 OTA 升级所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部