参考来源:KEIL-MDK在内存中调试程序的启动脚本
使用借鉴:基于固件库的STM32F10x程序在Keil v5 MDK 下的RAM调试方法
将以下内容保存为Debug_RAM.ini文件:
/* 使用说明
1,使用默认的链接控制文件;
2,工程选项的Debug标签页中,初始化文件(Initialization File)选择:Debug_RAM.ini
3,配置代码在内存中的起始地址。
4,【重要】Utilities标签页中,取消选择:Update Target before Debugging
5,不要点击“Flash=>Download”下载,直接点击“Debug=>Start Debug Session”开始调试。
*/
/*----------------------------------------------------------------------------
* Name: Debug_RAM.ini
* Purpose: RAM Debug Initialization File
*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
Setup() configure PC & SP for RAM Debug
*----------------------------------------------------------------------------*/
FUNC void Setup (void) {
SP = _RDWORD(0x20000000); // Setup Stack Pointer
PC = _RDWORD(0x20000004); // Setup Program Counter
_WDWORD(0xE000ED08, 0x20000000); // Setup Vector Table Offset Register
}
FUNC void OnResetExec (void) { // executes upon software RESET
Setup(); // Setup for Running
}
load %L incremental
Setup(); // Setup for Running
g, main
注:在使用keil的reset键时,首先需要按下stop图标,暂停CPU,然后按复位,否则复位还是从默认位置启动。如下图所示: