打印
[APM32F0]

APM32F035的片内SRAM运行代码

[复制链接]
44|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
#申请原创#

APM32F035拥有8KB的用户SRAM可使用,因此当需要代码全部在SRAM中运行时,编译出来的代码大小+需要的SRAM运行内存不能超过8KB


当需要代码全部运行在SRAM中,KEIL仅需要更改ROM的地址为SRAM区域即可;
如下图所示,程序编译后的代码大小为:2032+792=2824Bytes,即需要0xB04字节的SRAM空间;
运行内存为2052Bytes,即需要0x804个字节的SRAM空间;
需要的总SRAM空间小于8KB,能完全装入SRAM中运行,因此修改代码的ROM空间起始地址为0x20000000,大小为0xC00,SRAM的前段空间为程序空间,剩余部分为读写内存区域。


由于ROM空间指定为SRAM区域,因此程序不能下载到片内FLASH,需要修改KEIL配置,其中有个关键的脚本文件SRAM.ini


SRAM.ini的内存如下:
需要设置中断向量表位于SRAM起始地址,RESET复位向量的地址,然后跳转到main函数执行即可


在SRAM中运行程序,不能使用LOAD下载程序,而是点击debug按钮,直接由KEIL将程序导入到MCU的SRAM中运行
注意:此种方式运行程序,点击复位程序按钮,将不会产生复位程序效果,需退出debug重新进入才能复位程序重新开始运行


Full_Flash_Test.zip

313.91 KB

SRAM中运行代码

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

7

帖子

0

粉丝