水之呢喃 发表于 2025-7-30 20:12

把程序放到大Page页中启动运行了

APM32F407的内置Flash的共分为了16页,对于512KB的容量,每页的容量并不是均匀分配,而是前面低地址的存储区域页大小较小,如16KB。后面高地址存储区域页大小较大,如128KB。

貌似把程序稳定部分,尤其那些已经稳定运行的库文件,放到大Page页里是一个非常好的选择。

今天就以APM32F407VE为例尝试一下在Keil环境下实现上述想法。其实,实现起来还是非常简单的。我把程序定位在了0x08010_0000 到 0x0801_FFFF 这64KB的程序空间里面。首先需要在配置里面把程序的起始地址与大小配置到Keil里面,如下图所示:



再返回工程,编译一下,看看MAP文件



看!还是蛮简单的。如果日后,项目复杂,工程文件多,64KB的空间不够用,可以再扩展到128KB的大页上面。亲,你们也来尝试一下吧!

梦塑者 发表于 2025-7-31 14:41

这个想法不错啊!
可以把配置信息的数据放到小的page页里面。
话说楼主是怎么想到的呢

穷得掉渣大侠 发表于 2025-7-31 19:08

这个方法确实可以优化程序的存储效率,尤其是在资源有限的情况下。你的实践分享很有帮助,谢谢!

彩虹捕手 发表于 2025-7-31 22:57

这个方法确实不错,对于提高程序的稳定性和运行效率很有帮助。你提供的Keil配置和MAP文件截图很直观,谢谢分享!
页: [1]
查看完整版本: 把程序放到大Page页中启动运行了