loader开发二

本文介绍了基于STM32RCT6芯片进行Loader开发的过程,包括Loader和APP的地址分配,Loader的配置和内部实现逻辑,以及APP程序的设置。通过修改IAP实验,详细讲解了如何从串口接收APP bin文件并写入Flash,以及如何在按下特定按键后启动APP。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

 

前言

地址分配

loader的配置和软件内部实现逻辑


前言

本文通过修改正点原子的IAP实验,体验一下loader升级app的全过程

地址分配

  • loader起始地址:0x0800 0000,大小为0x10000
  • app的起始地址:0x0801 0000,大小为0x30000
  • 实验芯片是大容量的stm32RCT6,总容量为256kB,那么loader的大小为64kB,app大小为192kB

loader的配置和软件内部实现逻辑

loader的起始地址使用默认的,通过串口接收发来的app的bin文件,然后存储在ram里的缓冲数组里。

按下按键wkup,表示将接受到的bin文件写入到flash中

按下key1,开始运行app文件

loader代码:

int main(void)
 { 
	u8 t;
	u8 key;
	u16 oldcount=0;	//老的串口接收数据值
	u16 applenth=0;	//接收到的app代码长度
	u8 clearflag=0; 
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2
	delay_init();	    	 //延时函数初始化	  
	uart_init(256000);	 	//串口初始化为256000
	LED_Init();		  		//初始化与LED连接的硬件接口
 	KEY_Init();				//按键初始化 	
 
	while(1)
	{
	 	if(USART_RX_CN
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值