图解Keil MDK 3.5/UV4beta Jlink V7 在STM32中SRAM 调试成功方法成功目的是避免FLASH擦写次数的限制,和避免新手学习很快让MCU结束生命。
以本人STM32F103RBT6为例,128K flash,20K SRAM,借鉴前人ULINK下调试的方法。
把内存分为16K用做FLASH,4K用做内存使用,这里以GPIO点亮LED为例子,项目为GPIO_OUT。
1、copy Keil安装目录下,例如C:\Keil\ARM\Boards\Keil\MCBSTM32\STLIB_Blinky中的RAM.ini到项目目录,然后双击GPIO_OUT.uvproj,启动Keil。
2、单击启动下图对话框,在Project Targets一项单击New(Insert)按钮,增加一个目标,命名为SRAM,然后OK。
3、然后再Select Target中选择SRAM。
4、左侧项目栏中选择SRAM,单击右键选择Options for Target “SRAM”,打开选项对话框。
5、如上图所示,在target选项中修改IROM1的Start值为:0x20000000,Size:0x4000IRAM1的Start值为:0x20004000,Size:0x1000;即内存分为16K用做FLASH,4K用做内存使用。
6、OutPut选项卡中也选中Create HEX File,如下图所示。
7、在Debug选项中仿真器选择Cortex-M3 J-LINK,Initialization File中点击Edit按钮选择刚才copy过来的RAM.ini文件,取消Load Application at Startup复选框,设置如下:并点击仿真器一栏,Settings按钮,进一步设置,如下图,注意Debug选项中Interface中选择USB,如下图所示,在Flash Download中配置,选中Do not Erase,在RAM for Algorithm中Start设置为0x20004000,Size设置为0x1000,设置STM32F10x Med-density Flash的地址Start:0x20000000,size:0x00004000,点击OK。