单片机物联网升级方案

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

一般消费级产品,为了性价比,选用的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,主

74HC138译码器的原理和使用

前言 译码器就是将每个输入的二进制代码译成对应的输出高低电平信号,和编码器互为逆过程。 百度百科 74HC138是一款高速CMOS器件,74HC138引脚兼容低功耗肖特基TTL(LSTTL&#xf