首先設置程序的啟動地址,STM32默認的啟動地址是從0x8000000開始的,現在我要設置程序向后偏移10K地址,也就是從0x8002800啟動。
需要分兩步完成上面操作:
一.Keil MDK設置;
設置keil MDK的target
設置flash download。
二.設置程序偏移量
程序偏移量在system_stm32f10x.c代碼中。
這里大小和前面keil相對應。
至此STM32啟動地址設置完成。但是這個重新只能通過boot loader跳轉執行這段程序,無法在線調試。
/*******************************************************************************************************************************************
前部分介紹到此。現在介紹非0x800000 開始調試程序
******************************************************************************************************************************************/
為此我們需要設置下mdk的flash算法即可實現在線調試
修改方法:打開keil安裝目錄E:\Keil_v5\ARM\Flash(軟件路徑不一定相同)。
然后打開啟動工程:
程序修改ok后編譯,會生成STM32F10X_512.FLM
這樣我們的mdk的flash算法設置完成。
我們可以在E:\Keil_v5\ARM\Flash找到生成的文件:
到此我們從非0x800000 開始調試程序完成。