最近有一個小項目,需要使用nrf52832.幾個月前用的15.3版本,不像昨天下載新的sdk的時候已經是16.0.0.
這次試用有幾個問題。第一是Devicefamily原先的工程默認試用的是8.27.0版本,實際上keil的pack裏面最新的是8.24.1版本。
此外,之前的軟件默認試用cmisis的core。而這個cmsis的版本是4.5.0.事實上,目前cmsis的版本早已升級到了5.6.0,裏面包含的core版本是5.3.0.
因此需要解決這個問題。
怎麼辦吶?下圖這兩個圖標很重要。
第二個圖標是select software packs,第一個圖標是manage runtime evrionment。簡單的來說就是第二個圖標負責選擇本工程(project)下試用那些包(packs);而第一個圖標則是選擇試用剛纔列舉的包(packs)中那些運行環境。每個包裏面可能包含多個運行環境,你可以理解爲每個包有多個子包。吶cmsis來說,cmsis-core就是cmsis的子包。
好了,那怎麼修改吶?
首先重新選擇最新的packs來分別替換老的cmsis和nRF_DeviceFamilyPack。
再這一步會出現零一個對話框提示你core和device的Startup的選擇有問題。在這個對話框將這兩項的對勾去掉(uncheck)。
然後按第一個按鈕,在新的包中選擇剛纔uncheck的兩項就可以了。
此時就解決了問題。
另外一個可能的問題是找不到cmsis_cm4.h,這個也很好辦。搜一下這個文件在sdk lib的那個部分,然後添加一下路徑就ok了。
我的相對路徑設置如下:..\..\..\..\..\..\components\toolchain\cmsis\include
有問題請在下面留言