庫:在C語言編程中,編譯的第三步,即鏈接的時候會使用庫,庫就是各個函數的打包,
靜態(tài)庫:鏈接的時候抽取的內容來自靜態(tài)庫,加可執(zhí)行文件.o文件
動態(tài)庫:程序在運行的時候調取的函數集合,什么時候用什么時候加。
CubeMX系統(tǒng)操作:
?HAL庫(抽離)(還有另一個LL庫(Low Layer)-寄存器賦值)
構建初始化過程
File system實時操作系統(tǒng) ??協(xié)議棧 ??RTOS
HAL庫下載方式:WWW.ST.COM或是直接CubeMX自動下載
靜態(tài)庫-鏈接時加進來? ? ? ? ? ? ? ? ? ?動態(tài)庫-執(zhí)行時去加載
Peripherals片內外設? ? ? ? ? ? ? ? ? ? ?MiddleWares中間件
文件系統(tǒng) filesystem 協(xié)議棧? ?RTOS實操系統(tǒng)? ?Audio音頻? ?Libjpeg視頻
Host? Library? (主設備)? ? ? ? ? ? ? ?D誒側Library(分設備)
DSP解決數字運算? 乘除法? ?小數類型? ?圖形處理
每一個外設對應一個.c文件
全局變量作緩沖應該給一個初始化值,以免在優(yōu)化時被優(yōu)化掉
注意優(yōu)化等級防止調用全局定義時不全等方面出錯;初始化可以防止全局變量被優(yōu)化
初始化:HAL:_ _ weak前綴 表示弱函數? 在.c文件中出現(xiàn)重名函數可以替換重名弱函數