首先設置程序的啓動地址,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 開始調試程序完成。