单片机物联网升级方案

单片机物联网远程升级方案,直接上干货

一般消费级产品,为了性价比,选用的mcu,一般资源很有限,以stm32103c6t6为例 ram 20k rom64k,主要功能实现如下

MCU通过BOOT程序跳转到App主程序。BOOT程序实现引导跳转功能,App实现主程序业务功能。BOOT和App程序均存储在MCU内部Flash里面。

在keil中地址设置例如下图,地址必须连续,boot地址的结束是app程序的起始地址,必须预先规划好程序空间大小,比如boot
0x8000,32768字节,为32k,以此类推。

BootLoader
 app
在这里插入图片描述

**跳转程序,校验栈顶指针,正确则跳转程序**
			/* Test if user code is programmed starting from address "APPLICATION_ADDRESS" */
			if (((*(__IO uint32_t*)APPLICATION_ADDRESS) & 0x2FFE0000 ) == 0x20000000)
			{ 
				/* Jump to user application */
				JumpAddress = *(__IO uint32_t*) (APPLICATION_ADDRESS + 4);
				Jump_To_Application = (pFunction) JumpAddress;
				
				/* Initialize user application's Stack Pointer */
				__set_MSP(*(__IO uint32_t*) APPLICATION_ADDRESS);
				
				/* Jump to application */
				Jump_To_Application();
			}

app中需要设置栈指针
int main(void)
{
SCB->VTOR = FLASH_BASE | 0x4000;
HAL_Init();
while(1)
{
}
}

防止升级错误卡死,上看门即可,按时喂狗…

版权声明:本文为CSDN博主「8421plus」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/iyy123IUU/article/details/122252970

单片机物联网远程升级方案,直接上干货

一般消费级产品,为了性价比,选用的mcu,一般资源很有限,以stm32103c6t6为例 ram 20k rom64k,主要功能实现如下

MCU通过BOOT程序跳转到App主程序。BOOT程序实现引导跳转功能,App实现主程序业务功能。BOOT和App程序均存储在MCU内部Flash里面。

在keil中地址设置例如下图,地址必须连续,boot地址的结束是app程序的起始地址,必须预先规划好程序空间大小,比如boot
0x8000,32768字节,为32k,以此类推。

BootLoader
 app
在这里插入图片描述

**跳转程序,校验栈顶指针,正确则跳转程序**
			/* Test if user code is programmed starting from address "APPLICATION_ADDRESS" */
			if (((*(__IO uint32_t*)APPLICATION_ADDRESS) & 0x2FFE0000 ) == 0x20000000)
			{ 
				/* Jump to user application */
				JumpAddress = *(__IO uint32_t*) (APPLICATION_ADDRESS + 4);
				Jump_To_Application = (pFunction) JumpAddress;
				
				/* Initialize user application's Stack Pointer */
				__set_MSP(*(__IO uint32_t*) APPLICATION_ADDRESS);
				
				/* Jump to application */
				Jump_To_Application();
			}

app中需要设置栈指针
int main(void)
{
SCB->VTOR = FLASH_BASE | 0x4000;
HAL_Init();
while(1)
{
}
}

防止升级错误卡死,上看门即可,按时喂狗…

版权声明:本文为CSDN博主「8421plus」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/iyy123IUU/article/details/122252970

生成海报
点赞 0

创世纪

单片机学习,电子制作DIY学习与分享,各种新鲜的,有趣的,好玩的,一起来吧!机器人、无人机、树莓派/Raspberry Pi、arduino、极客、创客等

暂无评论

发表评论

相关推荐

AD原理图设计与Clion源码工具学习

一、AD绘制电路原理图 1.准备工作 下载Altium Designer,具体安装步骤以及百度网盘分享参考:Altium Designer2018下载安装及基本使用 STM32F103C8T6元件库&#xff1a

单片机物联网升级方案

单片机物联网远程升级方案,直接上干货 一般消费级产品,为了性价比,选用的mcu,一般资源很有限,以stm32103c6t6为例 ram 20k rom64k,主

【Arduino实验13 超声波测距】

目录 一、实验目的 二、实验设备与环境 三、实验重点 四、实验难点 五、实验内容 5.1实验任务 5.2实验原理 5.3实验内容 5.4实验结果 5.5思考题 一、实验目的 1熟悉超声波传感器基本性能; 2掌握