【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 Download及Download to FLASH选项,也就是说点击调试按钮后,本工程的程序会被下载到内部 SRAM 中,只有勾选了这两个选项才能正常仿真
BOOT配置
页:
[1]