您好,登錄后才能下訂單哦!
首先下載STM32F10x_StdPeriph_Lib_V3.5.0,許多論壇上有,下邊也有鏈接,這個版本算是比較新的
貌似11年4月左右出來的,里邊東西挺全乎~
首先看看解壓之后的目錄結(jié)構(gòu)吧~
里邊有如下文件夾:
_htmresc : ST的 logo
Libraries: 重要的文件均再次文件夾,包含STM32的系統(tǒng)文件和大量頭文件,也就是庫文件了。
子文件:CMSIS :一些內(nèi)核、內(nèi)部時鐘等驅(qū)動,ARM Cortex™ 微控制器軟件接口標(biāo)準(zhǔn)(CMSIS:Cortex Microcontroller Software Interface Standard) 是 Cortex-M 處理器系列的與供應(yīng)商無關(guān)的硬件抽象層。 使用CMSIS,可以為處理器和外設(shè)實現(xiàn)一致且簡單的軟件接口
子文件:STM32F10x_StdPeriph_Driver :是意法半導(dǎo)體公司為其芯片所加外設(shè)開發(fā)的標(biāo)準(zhǔn)驅(qū)動文件,里邊一個含有 .h 文件夾,一個含有 .c 文件夾 分別對應(yīng) ADC DMA 等等外設(shè),這些標(biāo)準(zhǔn)庫函數(shù)是我們的開發(fā)可以脫離 強(qiáng)硬件相關(guān)的一些 東西,而且里邊注釋完整 方便閱讀理解。
Project: 包含大量外設(shè)的例程,和各個軟件版本的評估版工程模板。
KEIL MDK對應(yīng)的就是 MDK-ARM 文件下的工程模板。你也可以利用這個工程模板來修改,得到你自己的工程模塊。
Utilities: 就是ST官方評估版的相關(guān)開發(fā)文件:對于自己的板子做的模板也不會用到。
stm32f10x_stdperiph_lib_um:這個是官方庫說明文檔,里邊講解的很細(xì)致,有點英文水平的可以參考,畢竟表述會更加準(zhǔn)確,翻一翻有好處。
庫文件就簡單介紹到這里,下面開始建立我們的MDK模板!
首先在桌面建立建立文件夾 ST_MDK_Template
然后打開文件夾,在里邊建立一下文件夾,便于將固件庫整理并且放入相關(guān)文件夾
Libraries : 這個文件夾是直接將 固件庫里邊的主目錄下的 同名文件夾復(fù)制過來即可,因為里邊均為庫函數(shù) 編輯工程是不會做修改,所以不要修改該文件夾的只讀屬性。
Obj : 用來保存編譯鏈接時產(chǎn)生的一些中間文件,還有最后的目標(biāo)文件.hex 也會生成到此目錄下
User :該文件夾主要用來存儲用戶工程需要的一些文件,如main.c 等,下邊為我在這個目錄下的一些文件,其中 main.c std_periph_conf.h std_periph_conf.c 三個文件是從工程當(dāng)中建立的,其余三個是從固件庫當(dāng)中拖過來即可,三個固件庫文件位置如下:
stm32f10x_conf.h : \STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\ 該文件是一個用來設(shè)置 是否包含相關(guān)外設(shè)(adc DMA 等)頭文件的預(yù)定義頭文件
stm32f10x_it.h stm32f10x_it.c : \STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\ 這兩個文件為一套 用戶用來定義外部中斷函數(shù)的文件,需要用戶根據(jù)需要修改。
文件均已經(jīng)準(zhǔn)備好了,下面就可以進(jìn)入MDK 當(dāng)中進(jìn)行工程配置:
雙擊打開Keil MDK ,點擊新建project ,如圖,將保存目錄選在剛建立好的最上層目錄中
然后選擇你所使用的芯片 我的是STM32F103R8系,確認(rèn)之后完成建立如下圖:
當(dāng)出現(xiàn)如上提示問是否添加啟動文件時,選擇否,因為我們會選擇固件庫自帶的啟動文件。
然后在Target1下建立幾個group ,project 目錄下 右鍵 add group.. 新建以下 3個group:
sys:用來指向系統(tǒng)啟動以及時鐘初始化等文件
src:用來指向固件庫里外設(shè)源文件
user:用來指向用戶建立的文件中斷函數(shù)保存文件(stm3210x_it.h \ .c)
開始向工程當(dāng)中添加文件~
點擊sys 右鍵add files to group 'sys' 分別添加當(dāng)前項目所在文件夾下的以下文件
文件 目錄
startup_stm32f10x_md.s :ST_MDK_Template\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\
說明:在以上目錄有 許多.s 結(jié)尾的匯編啟動文件,但是添加時只需要選擇你的芯片對應(yīng)的啟動文件,選擇依據(jù)為你的芯片的ROM容量 分為三種
小容量(ld):FLASH容量大小為小于等于32K
中容量(md):FLASH容量大小為64K-128K
大容量(hd):FLASH容量大小為256K及以上
system_stm32f10x.c :ST_MDK_Template\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\
說明: 這個文件用來初始化芯片的系統(tǒng)時鐘
core_cm3.c :ST_MDK_Template\Libraries\CMSIS\CM3\CoreSupport\
說明:保存著系統(tǒng)最核心的一些函數(shù)調(diào)用,均為匯編編寫
點擊src 右鍵add files to group 'src' 分別添加當(dāng)前項目所在文件夾下的所有.c文件,以上文件均為外設(shè)驅(qū)動文件
ST_MDK_Template\Libraries\STM32F10x_StdPeriph_Driver\src
點擊user 右鍵add files to group 'src' 分別添加當(dāng)前項目一下文件:
stm32f10x_it.c \\ST_MDK_Template\User 中斷函數(shù)所在文件
點擊新建文件,在user文件夾下建立main.c文件 并且用同樣的方法添加到工程中的user group 中 。
將如下代碼復(fù)制到main.c當(dāng)中,已備調(diào)試,main中實現(xiàn)的是初始化PB0,并拉高該端口電位。
#include"stm32f10x.h"
int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
/* GPIOD Periph clock enable */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
/* Configure PB0 in output pushpull mode */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB,&GPIO_InitStructure);
void GPIO_SetBits(GPIOB,GPIO_Pin_0);
while(1);
}
至此,完成了全部固件庫文件的遷移,下面需要在在當(dāng)前項目中進(jìn)行一些配置
右鍵單擊Target1 ,出現(xiàn) options for target ....
點擊output 標(biāo)簽 點擊 select folder for objects 將目錄指向新建的Obj文件夾,以使的產(chǎn)生的中間文件均保存在該文件夾下,保持主文件夾的“干凈”
點擊C\C++ 標(biāo)簽 在Define 文本框輸入 兩個預(yù)定義的量 STM32F10X_MD,USE_STDPERIPH_DRIVER 注意 兩個預(yù)定義的量中間使用逗號(英文輸入狀態(tài)下)隔開
仍然在C\C++標(biāo)簽下 在Include Paths 文本框當(dāng)中 添加當(dāng)前文件夾內(nèi)所有.h 文件所在目錄,以便編譯器查找時搜索各級目錄,具體步驟不講,將目錄列在這里,需要的可以直接復(fù)制,但是前提是按照我的規(guī)則命名文件夾,否則你懂得。。。:
.\Libraries\CMSIS\CM3\CoreSupport;.\Libraries\STM32F10x_StdPeriph_Driver\inc;.\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x;.\User;..\ST_MDK_Template;.\Libraries\CMSIS\CM3
完成以上步驟呢,一個模板就建好了,點擊Build 或者 按 F7 快捷鍵編譯 通過 ~~~
大家可以保留 以后 都可以直接在此基礎(chǔ)上 DIY,這樣進(jìn)度會快一些,請各位大俠拍磚~~
還有 我編輯好的 代碼打包上傳到iask 大家可以點擊 此 下載 固件庫V3.5 點擊 此下載 MDK工程模板
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。