如果每次调试仿真都要烧写flash的话,是很麻烦尤其是代码量比较大,每次擦除flash,编程flash,校验flash,下载调试代码,然后才能进入调试环境,这样下来很费时间,而在ram中调试烧写代码到ram就相当快了,大大加快了调试速度,缺点就是RAM的空间有一定限制.
我在RAM中调试代码用到2种方法.
第2种实现ram运行的方法是:建一个正常的工程,加载地址和运行地址都是从正常的从flash
的 0x00000000 地址开始的,,但是在 Startup.s 文件中修改一下代码如下:
第一种在RAM中调试的方法简单步骤如下:
1.设置*.sct文件,将代码定位到RAM
2.仿真设置,去掉写,校验flash
3.点击调试按钮进入调试状态
4.在命令窗口掉入 ram.ini文件,代码会直接跳到RAM中main函数
include ram.ini
ram.ini文件如下:
Load test1.AXF incremental
FUNC void Setup (void) {
_WDWORD(0xE000ED08,0x20000000);
SP = _RDWORD(0x20000000);
pc = _RDWORD(0x20000004);
}
Setup();
g,main