Image
Image

发给她更好fh

+ 关注

粉丝 1     |     主题 43     |     回帖 563

STM32F4单片机bootloader及在线升级IAP基本原理
2025-3-10 21:33
  • ST MCU
  • 87
  • 6051
  ......  
  原厂BootLoader在0x1fff 0000 - 0x1fff 77ff的stm32内部存储器内,大小为30K。通过boot引脚设置 boot0= 1; ...  
  ......  
  3.1 原厂BootLoader  
  bootloader BootLoader的意思就是启动引导,跟电脑启动先加载主板BIOS一样,引导程序从哪一部分映射地址启 ...  
  到这里基本启动过程以及内存分布就差不多了,iap操作就是操作这些地址及变量的分布。 ...  
  ......  
  通过编译的信息可以总结出stm32内存分布的情况,编译烧写目标为flash,上电运行到main函数前完成对ram的分 ...  
  ......  
  ......  
  正常编写完程序,用keil编译后生成的bin文件或是烧写程序到单片机都是只有FLASH(相当于ROM)里的内容,具 ...  
  接下来就是代码变量堆栈的分布情况了,这里以从flash启动为例。  
  当从0x00000000映射到FLASH上时,0x00000000-0x000fffff就相当于FLASH0x08000000-0x080fffff的别名,操作谁 ...  
  ......  
  单片机有两个引脚会引出来,当外部给不同电平时产生不同的内部地址映射,正常用的就是从主Flash映射,从系 ...  
  ......  
  ......  
  2.2 内存映射分布 下面说一下内存映射的过程:  
  中断函数的地址是由keil编译器固定好的,更改编程ROM初始地址,中断函数地址会相应的在生成的bin文件中被改 ...  
  这里还有一点也要说一下,如果使用了c++的类定义了对象,构造函数会在标准库__main中执行,也就是在执行主 ...  
2
3
近期访客