Keil uVersion MDK 5.0 建立STM32工程,不需新建文件夾,拷貝標准函數庫等操作。但該工程僅限自己使用。
1. 建立工程目錄:
用於存放工程。
2. 新建工程:
找到剛剛的位置, 給一個項目名字:
保存。
選擇芯片類型:
沒找到,說明你沒有安裝STM32的芯片包,要去官網下載一下咯。
項目配置:
這里很重要,選擇一些必要的內容,否則,工程將出現錯誤。
必要的主要是以下部分:
這兩項不選,應該不能用。
其他配置:
根據自己的需要進行配置。
假如你選擇的有問題,將會有提示:
根據提示,選上就對咯。
我的最基本配置:
Drivers下面,按需選擇咯,但是要注意,需要GPIO、DMA等支持:
工程成型:
Drivers的錯誤問題解決:
剛剛建立好工程,如果你使用了CMSIS Drivers,如果你恰巧還是比較舊的版本,比如說Keil.STM32F1xx_DFP.1.1.0.pack,你會發現,有部分頭文件找不到,尤其是UART_STM32F10x.h,這是keil 5比較坑的地方。
如下是我的經過:
我增加了Driver的相關組件,但是頭文件都找不到,出現如下錯誤:
'Driver_I2C.h' file not found.
詫異之余,只能找到增加路徑了:
實際這些頭文件在這里,所以在target里增加路徑:
增加依賴,根據安裝目錄決定。
這個時候就解決這個問題了。
還有一個很大的坑:
Driver增加的是UART,但實際上,keil已經更改為USART,所以即便是增加了上述的路徑,還是錯的。
解決辦法:
更新pack:
http://www.keil.com/dd2/Pack/#/eula-container
這里找到自己需要的pack,下載更新了。
重建工程,就沒有這種問題了,國內很早就發現,但是,很多人是盜版的,根本沒機會提交給keil去修改,所以有一段時間這個沒法用,現在已經更新好了。
STM32的CMISIS Drivers使用方式
增加了相關驅動之后,你會發現,還是不能用,拋出對應於每個驅動的未定義宏錯誤:
如I2C: "I2C not configured in RTE_Device.h!"
SPI的:"SPI not configured in RTE_Device.h!"
最坑的USART/UART: "USART not configured in RTE_Device.h!"
以及諸如此類的錯誤,這是因為,驅動是給這一系列所開發的,你必須要根據你的芯片,修改RTE_Device.h文件。
我是用的是STM32F103RBT6,我需要按照這個芯片所具有的外部硬件資源,去打開相應的模塊定義,就是修改對應宏值為1就可以了。
修改方法是,直接去RTE_Device.h里面修改,把對應模塊的值修改為1就可以了。一定不要弄錯了,修改的是芯片具有的,或者只修改自己所需要的。
Hello STM32完畢
作者:heguorui
鏈接:https://www.jianshu.com/p/482ff2dedb15
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
