首先设置程序的启动地址,STM32默认的启动地址是从0x8000000开始的,如今我要设置程序向后偏移10K地址,也就是从0x8002800启动。算法
须要分两步完成上面操做:调试
一.Keil MDK设置;blog
设置keil MDK的targetip
设置flash download。get
二.设置程序偏移量flash
程序偏移量在system_stm32f10x.c代码中。it
这里大小和前面keil相对应。编译
至此STM32启动地址设置完成。可是这个从新只能经过boot loader跳转执行这段程序,没法在线调试。class
/*******************************************************************************************************************************************软件
前部分介绍到此。如今介绍非0x800000 开始调试程序
******************************************************************************************************************************************/
为此咱们须要设置下mdk的flash算法便可实如今线调试
修改方法:打开keil安装目录E:\Keil_v5\ARM\Flash(软件路径不必定相同)。
而后打开启动工程:
程序修改ok后编译,会生成STM32F10X_512.FLM
这样咱们的mdk的flash算法设置完成。
咱们能够在E:\Keil_v5\ARM\Flash找到生成的文件:
到此咱们从非0x800000 开始调试程序完成。