- [Cortex-M3]-1-启动流程-启动文件
- [Cortex-M3]-2-map文件解析
- [Cortex-M3]-3-分散加载文件解析(.sct)
- [Cortex-M3]-4-如何在内嵌RAM中运行程序
1 定义items
在进行项目开发时,可以在project items中创建debug和release,并确定。
平时调试下拉选择debug再编译:可以全局使用DEBUG宏配置
发布版本下拉选择release在编译:配置中无DEBUG宏配置
2 程序运行-RAM中运行
需要注意
- 程序的下载地址改到RAM空间中
- 程序的debug之前要设定SP,PC指针到RAM空间
其中test.ini中的内容如下:
FUNCvoidSetup(void){
SP = _RDWORD(0x20000000);// 设置栈指针 SP,把 0x20000000 地址中的内容赋值到 SP。
PC = _RDWORD(0x20000004);// 设置程序指针 PC,把 0x20000004 地址中的内容赋值到 PC。
XPSR = 0x01000000; // 设置状态寄存器指针 xPSR
_WDWORD(0xE000ED08, 0x20000000);// Set Vector Table initial ADDR
}
LOAD %L INCREMENTAL //下载 axf 文件到 RAM
Setup(); //调用上面定义的 setup 函数设置运行环境
g, main
//跳转到 main 函数,
//如果本示例调试时不需要从 main 函数执行,程序从启动代码开始执行