上次那篇《STM32 RVMDK快速創(chuàng)建工程》,,其實(shí)就是直接用keil安裝庫(kù)來(lái)創(chuàng)建工程,。我認(rèn)為不要用下載的固件庫(kù)來(lái)創(chuàng)建工程,覺(jué)得容易出錯(cuò),。其實(shí),,我當(dāng)時(shí)初窺stm32,很多東西沒(méi)有搞清楚,,所以才這么認(rèn)為,。直接用keil4的安裝庫(kù)來(lái)建立工程固然簡(jiǎn)單,但是那個(gè)庫(kù)舊得要命,,都是2.0左右的版本(我原以為新安裝的必然是最新的庫(kù),,其實(shí)不然)。 用新的固件庫(kù)放于本地創(chuàng)建工程,,之所以容易出錯(cuò),,我想有兩點(diǎn): 1、雖然把整個(gè)庫(kù)放在本地,,但不一定真的就用了本地的庫(kù),,由于include paths沒(méi)有設(shè)置完整或者沒(méi)有在在選項(xiàng)里定義關(guān)鍵的defind,很容易造成編譯器直接調(diào)用安裝庫(kù),而不是本地庫(kù),。 2,、新庫(kù)函數(shù)和舊庫(kù)不兼容,如果用舊庫(kù)寫的程序,,升級(jí)成為新庫(kù),,只怕新手很容易被蒙到,。 可以找一個(gè)叫《STM32V3.4固件庫(kù)使用方法》作為參考,,去創(chuàng)建工程,不過(guò),,即使這樣也容易出錯(cuò),。 注意如下: 1、仔細(xì)按這個(gè)方法設(shè)定defind,、include paths,,不可漏; 2,、仔細(xì)copy每個(gè)文件到工程里面,,特別是“stm32f10x_conf.h”、“stm32f10x_it.h”,、“stm32f10x_it.c”,、“system_stm32f10x.c” 3、建立工程的時(shí)候,,出現(xiàn)“CopySTM32 Startup Code to Project Folder and ADD File to Project ?”提示時(shí),,選擇“否”。 4,、“stm3210x_misc.c”,、“stm3210x_rcc.c”“core_cm3.c”“system_stm32f10x.c”記得要加載 5、“STM32F10X_HD,USE_STDPERIPH_DRIVER”記得要添加,, STM32F10X_HD是高容量芯片的,,要根據(jù)不同芯片選擇不同; 6,、"stm32f10x.h"和“stm32f10x_lib.h”不可以同時(shí)include,,前者是3.0庫(kù)以后的庫(kù)所用,后者是2.0庫(kù)所有,,如果同時(shí)加載,,就會(huì)出現(xiàn)重復(fù)定義等錯(cuò)誤提示。 7,、bool的問(wèn)題,。新的固件庫(kù)是沒(méi)有對(duì)bool重定義的!!?。,。?,在新庫(kù)里,,要用到bool,請(qǐng)用#include <stdbool.h>,,這樣才可以用true和false,,小寫。 8,、新舊庫(kù)不兼容的地方要一一修改,。 |
|
來(lái)自: 月光下的幽會(huì) > 《系統(tǒng)&ARM》