IAR 环境下基于JLINK在RAM中调试STM32

最近在用STM32F207,1M flash, 128K ram, 一般的程序都可以放在RAM中进行调试,速度快,又可以大大减少FLASH擦写次数。搜索了一下网上的相关材料,相关设置如下:



1、Project -> Options ->C++ Compiler -> Preprcessor选项卡下  defined symbols加入: VECT_TAB_SRAM ;

2、Project -> Options -> Linker, 修改链接文件为RAM方式,比如我的修改为  $PROJ_DIR$\stm32f2xx_sram.icf;

3、Project -> Options -> Debugger -> download 选项卡,把use falsh loader前面的勾去掉;

4、把你的板子上的BOOT0和BOOT1跳线到RAM启动方式(全高),网上有人说这个不影响调试,根据我在GCC下的经验,这个貌似影响会SP指针,有的启动文件开始没有对SP指针初始化,而是自动从0地址读取,为了保险起见还是跳线到RAM方式。


经过以上设置,就可以在RAM进行你的应用调试,享受下飞一般的速度吧,比在FLASH中调试快多了,一般的程序都不在话下,编译的时候注意看代码大小不超过128K。


你可能感兴趣的:(IAR 环境下基于JLINK在RAM中调试STM32)