1、keil編譯的三個按鍵的功能
A、第一個按鈕:Translate就是翻譯當下修改過的文件,說明白點就是檢查下有沒有語法錯誤,并不會去鏈接庫文件,也不會生成可執(zhí)行文件。
B、第二個按鈕:Build就是編譯當下修改過的文件,它包含了語法檢查,鏈
接動態(tài)庫文件,生成可執(zhí)行文件。
C、第三個按鈕:Rebuild重新編譯整個工程,跟Build這個按鈕實現(xiàn)的功能
是一樣的,但有所不同的是它編譯的是整個工程的所有文件,耗時巨大。
綜上:當我們編輯好我們的程序之后,只需要用第二個Build按鈕就可以,
即方便又省時。第一個跟第三個按鈕用的比較少
2、core_cm3.c跟啟動文件一樣都是底層文件,都是由ARM公司提供的,遵
守CMSIS標準,即所有CM3芯片的庫都帶有這個文件,這樣軟件在不同的
CM3芯片的移植工作就得以簡化。
3、system_stm32f10x.c,是由ST公司提供的,遵守CMSIS標準。該文件
的功能是設置系統(tǒng)時鐘和總線時鐘,system_stm32f10x.c在實現(xiàn)系統(tǒng)時鐘的時候要用到PLL(鎖相環(huán)),這就需要操作寄存器,寄存器都是以存儲器映射的方式來訪問的,所以該文件中包含了stm32f10x.h這個頭文件。
4、stm32f10x.h定義寄存器的地址及使用的結構體封裝。
5、
6、.chm文件在NTFS硬盤中是打不開的,我們需要選中文件,右鍵屬性,然后點擊解除鎖定即可。
7、USER用來存放工程文件和用戶代碼,包括主函數(shù)main.c
Fwlib用來存放STM32庫里面的inc和src這兩個文件,這兩個文件包含了芯片上的所有驅(qū)動。
CMSIS用來存放庫為我們自帶的啟動文件和一些M3系列通用的文件。CMSIS里面存放的文件是適合任何M3內(nèi)核的單片機。
Output用來保存軟件編譯后輸出的文件。
Listing用來存放一些編譯過程中產(chǎn)生的文件,具體可以不用了解。
8、建立工程的一般步驟:
a、3.5.03.5.0STM32F10x_StdPeriph_Lib_V3.5.0LibrariesSTM32F10x_Std
Periph_Driver的inc跟src拷貝到Fwlib
b、3.5.03.5.0STM32F10x_StdPeriph_Lib_V3.5.0ProjectSTM32F10x_StdPe
riph_Template main.c、stm32f10x_conf.h、stm32f10x_it.h、stm32f10x_it.c、system_stm32f10x.c拷貝到USER目錄下。
說明:
stm32f10x_it.h、stm32f10x_it.c這兩個文件里面是中斷函數(shù),里面為空,并沒喲寫任何的中斷服務程序。stm32f10x_conf.h是用戶需要配置的頭文件,當我們需要用到芯片的某部分外設的驅(qū)動時,我們只需要在該文件下將該驅(qū)動的頭文件包含進來即可,片上外設的驅(qū)動在src文件夾中,inc文件夾里面是她們的頭文件。system_stm32f10x.c是ARM公司提供的符合CMSIS標準的庫文件。
c、將3.5.03.5.0STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3Devi
ceSupportSTSTM32F10xstartuparm的全部文件拷貝進CMSISstartup文件夾下。
d、把3.5.03.5.0STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3Core
Support的core_cm3.c和core_cm3.h也拷貝到STM32-TemplateCMSIS文件夾下。
e、把3.5.03.5.0STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3Devi
ceSupportSTSTM32F10x的stm32f10x.h、system_stm32f10x.c、system_stm32f10x.h拷貝到STM32-TemplateCMSIS文件夾下。
f、在keil中新建四個組,分別命名為STARTCODE、USER、FWlib、CMSIS。STARTCODE從名字就可以看得出我們是用它來放我們的啟動代碼的,USER用來存放用戶自定義的應用程序,F(xiàn)Wlib用來存放庫文件,CMSIS用來存放M3系列單片機通用的文件。
g、往各個組里添加文件。我們在STARTCOKE里面添加startup_stm32f10x_hd.s,在USER組里面添加main.c和stm32f10x_it.c這兩個文件,在FWlib組里面添加src里面的全部驅(qū)動文件,在CMSIS里面添加core_cm3.c和system_stm32f10x.c文件。
h、點擊魔術棒,選中Output和Listing的輸出文件夾
i、選中c/c++選項卡,在Define里面輸入添加USE_STDPERIPH_DRIVER,
STM32F10X_HD。
說明:添加USE_STDPERIPH_DRIVER是為了屏蔽編譯器的默認搜索路徑,轉(zhuǎn)而使用我們添加到工程中的ST的庫,添加STM32F10X_HD是因為我們用的芯片是大容量的,添加了STM32F10X_HD這個宏之后,庫文件里面為大容量定義的寄存器我們就可以用了。
j、在Include Paths欄點擊,在這里添加庫文件的搜索路徑,這樣就可以
屏蔽掉默認的搜索路徑
9、stm32f10x.h這個文件中重要的內(nèi)容就是把STM32的所有寄存器進行地
址映射。