loader开发二

目录

 

前言

地址分配

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代码:

 跳转app的部分代码如下所示

 需要注意到app代码段起始的第一个字存储的是栈顶指针,用户代码区的第二个字是程序开始地址,也就是复位中断程序入口地址

loader开发二 loader开发二

app程序设置

需要设置中断向量表的偏移地址

 

来源:stormjason

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年2月23日
下一篇 2021年2月23日

相关推荐