【STM32】SRAM启动

参考文章链接

创建工程的调试版本

该操作调试版本会复制原工程的配置
在这里插入图片描述

修改FLASH的目标配置

用的是STM32F103C8T6
RAM起始地址为是0x2000 0000大小为20KB,
这里用12KB大小的RAM作为虚拟ROM,用8KB的RAM作为RAM
虚拟ROM起始地址0x2000 0000大小0x3000
RAM起始地址0x2000 3000大小0x2000
在这里插入图片描述

配置分散加载文件

keil STM32中sct 分散加载文件学习
在这里插入图片描述
注意要与FLASH下的目标配置一致
虚拟ROM起始地址0x2000 0000大小0x3000
RAM起始地址0x2000 3000大小0x2000

; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************

LR_IROM1 0x20000000 0x00003000  {    ; load region size_region
  ER_IROM1 0x20000000 0x00003000  {  ; load address = execution address
   *.o (RESET, +First)
   *(InRoot$$Sections)
   .ANY (+RO)
   .ANY (+XO)
  }
  RW_IRAM1 0x20003000 0x00002000  {  ; RW data
   .ANY (+RW +ZI)
  }
}

配置中断向量表

编译选项中加入宏 VECT_TAB_SRAM ,在“Options for Target-> c/c+±>Define”框中输入宏VECT_TAB_SRAM ,注意它与其它宏之间要使用英文逗号分隔开。配置完成后重新编译工程,即可生成存储到 SRAM 空间地址的代码指令。
在这里插入图片描述

修改 FLASH 下载配置

在这里插入图片描述

  • Download Function中的擦除选项配置为Do not Erase
    这是因为数据写入到内部SRAM 中不需要像 FLASH 那样先擦除后写入。在本工程中,如果我们不选择“Do not Erase”的话,会因为擦除过程导致下载出错。

  • RAM for Algorithm指“编程算法” (Programming Algorithm) 可使用的 RAM 空间

  • 虚拟ROM地址与大小,与上面目标配置一致

仿真器配置

需要勾选Verify Code DownloadDownload to FLASH选项,也就是说点击调试按钮后,本工程的程序会被下载到内部 SRAM 中,只有勾选了这两个选项才能正常仿真
在这里插入图片描述

BOOT配置

在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值