把Keil(MDK)4升級到Keil(MDK)5,走了一些彎路,終於成功了,記錄如下,也適用於新建工程。
1、下載、安裝、註冊Keil(MDK)5,具體方法百度上很多。
2、下載與硬件對應的軟件包http://www.keil.com/dd2/Pack/
3、打開軟件,新建工程
自定義工程名稱
選擇型號
選擇運行庫
CMSIS/CORE 和 Device/Startup 必選,其它根據需要選擇。有些選項是黃的,表示缺少依賴項,按紅框內的提示勾選Framework後正常。
點擊ok後按下圖修改名稱
4、啓動Windows資源管理器,在工程文件夾中新建Users文件夾,把原來v4版中自己編寫的文件複製到這個文件夾中(注意:不要特製原來的系統文件)。
5、回到Keil5,點擊圖示圖標
點擊Add Files... 添加源文件
選擇剛纔複製的cpp文件,不含.h文件,點擊Add、Close,再點OK,回到主界面。
6、配置
下面的Xtal參數影響軟件仿真中模擬示波器的掃描速度
Output標籤中勾選Create Hex File項,生成二進制文件,再把Name of Executable中的名稱加上後綴.hex就能直接下載二進制文件,但是不能調試,一般不用。
Debug標籤中根據實際情況設置下面幾項,點擊Settings
勾選Reset and Run,下載程序後自動運行,否則下載程序後要按Reset鍵或斷電後才能運行。點擊確定、OK回到主界面
7、編譯
出現錯誤
SYSTICK_MAXCOUNT 和 SYSTICK_ENABLE 在5版中沒有了,查看系統源文件core_cm3.h,發現有兩個類似的參數:SysTick_LOAD_RELOAD_Msk = SYSTICK_MAXCOUNT - 1,SysTick_CTRL_ENABLE_Msk = (1<<SYSTICK_ENABLE) 替換後編譯正常,有一個警告錯誤,聲明的變量沒有使用,先不處理。
8、下載
下載正常,但是LED燈不閃,程序未運行。
查看《STM32開發過程的常見問題》修改startup_stm32f10x_hd.s文件中的棧空間,把原來的0x00000400改成0x00000800,也就是1k改成2k,再下載,一切正常。升級工作完成,若是新建工程只須去掉複製舊版本文件的步驟就行。