一、工具安裝
1. J-Link驅動的安裝 下載地址 http://pan.baidu.com/s/1mgjyw20
2. KEIL MDK的安裝 這個版本更新很快,我用的是4.7版本的,現在5.0版本的都出來,所以可以自己百度去下載,很多地方都能下載到
3. 成功安裝好J-Link,同時插上J-link下載線后能在我的電腦設備管理器中看到J-Link Driver
4. 由于安裝大同小異,這里不再贅述。
二、工程模板的建立
準備工作
1. 下載ST官方庫,我這里是用的3.5版本的
2. STM32使用手冊、固件函數手冊,開發板原理圖文件、以及ST助手
3. 網上下載地址很多,這里我把多個文檔打包在一起,下載地址:http://pan.baidu.com/s/1kTgI7Y3
下面介紹一下ST庫文件的每個文件的內容
解壓后你會發現ST庫是這樣一個文件夾,文件夾名為:STM32F10x_StdPeriph_Lib_V3.5.0,然后里面又包含了4個文件夾,一個網絡鏈接,和一個ST庫開發助手。
下面主要介紹四個文件夾:
1. Project 文件夾
1.1 Example
標準外設庫驅動的完整例程
1.2 Template
1.2.1 RVMDK
KEIL RVMDK的項目模板示例
1.2.2 EWARMv5
IAR EWARMv5的項目模板示例
1.2.3 RIDE
2. Libraries 文件夾
2.1 CMSIS
2.1.1 Documentation
CMSIS文檔
2.1.2 CM3
?? CoreSupport
core_cm3.c CMSIS的Cortex-M3內核設備訪問層源文件
?? DeviceSupport/ST/STM32F10x/startup
l arm ARM編譯器啟動文件
startup_stm32f10x_ld.s 大容量產品啟動文件
startup_stm32f10x_md.s中容量產品啟動文件
startup_stm32f10x_hd.s 小容量產品啟動文件
l iar IAR編譯器啟動文件
同arm
l gcc GCC編譯器啟動文件
同arm
2.2 STM32F10x_StdPeriph_Driver
2.2.1 Inc
標準外設庫驅動頭文件
2.2.2 Src
標準外設庫驅動源文件
3. _htmresc 文件夾
本文件夾包含了所有的html頁面資源
4. Utilities 文件夾
4.1 STM32_EVAL
本文件夾包含了用于STM3210B-EVAL和STM3210E-EVAL評估板的專用驅動
一些重要固件庫文件:
main.c 主示例函數體
stm32f10x_conf.h 參數配置文件,它要求用戶在運行應用程序之前對它進行修改,定義需要與庫進行交互的參數。用戶可以使用模板使能或者禁能外圍模塊,并且可以改變外部石英振蕩器的數值
stm32f10x_it.h 頭文件,包括所有中斷處理函數原型
stm32f10x_it.c 外圍模塊中斷處理函數文件,用戶可以引入在應用程序中需要使用的中斷處理函數。如果有多個中斷請求映射到同一個中斷向量,該函數采用輪循環圍中斷標志的方式來確認中斷源。這些函數的名字在固件庫中提供。
stm32f10x_lib.h 頭文件,包括所有外圍模塊的頭文件,這是唯一一個需要在用戶應用程序中引用的文件,它作為庫的接口。
stm32f10x_lib.c 調試模式初始化文件,它包括變量指針的定義,每個指針指向相應外圍模塊的首地址和當調試模式使能時被調用的函數的定義。該函數初始化已定義的指針。
stm32f10x_map.h 該文件實現用于調試,釋放模式的內存映射和寄存器物理地址定義。它提供給所有的外圍模塊。
stm32f10x_type.h 普通聲明文件。包括所有外圍驅動程序使用的普通類型和常量。
stm32f10x_ppp.h PPP外圍模塊的頭文件。包括PPP外圍模塊函數的定義和在這些函數中使用的變量的定義。
stm32f10x_ppp.c PPP外圍模塊驅動程序源代碼文件,用C語言編寫
cortexm3_macro.h 頭文件
cortexm3_macro.s 專用的Cortex-M3指令的指令封裝
正式開始建立工程:
1.在桌面上新建一個文件夾,取名STM-Demo,然后在里面新建四個文件夾分別是 CMSIS,FWlib,Listing,Output,USER
2.首先把ST庫中的Libraries\STM32F10x_StdPeriph_Driver\ Inc 和Src文件夾拷貝到你新建的STM-Demo文件夾中的FWlib中
3.把 Project\STM32F10x_StdPeriph_Template下的stm32f10x_conf.h、main.c、stm32f10x_it.c、stm32f10x_it.h、system_stm32f10x.c拷貝到你新建的文件夾USER目錄下
4.把Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm 下的所有文件拷貝到你新建的CMSIS\startup,前面現在里面新建好startup文件夾
5.將Libraries\CMSIS\CM3\CoreSupport中的core_cm3.c和core_cm3.h拷貝到你的CMSIS目錄下,同時將Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x中的stm32f10x.h、system_stm32f10x.h、system_stm32f10x.c拷貝打你的CMSIS目錄下
6.這樣我們的文件建立就完成了,這下我們可以打開MDK新建一個工程了,取名為STM32-Demo,然后添加四個group,分別為STARTCODE,USER,FWlib,CMSIS,在STARTCODE中添加startup_stm32f10x_hd.s,在USER中添加main.c和stm32f10x_it.c,同時在FWlib中添加全部的驅動文件,在CMSIS中添加core_cm3.c、core_cm3.h
添加完成后如下圖所示: 然后就是配置MDK選項
最后就是修剪你的main函數了
#include "stm32f10x.h"
int main(void)
{
}
修改成這樣就行了!這樣一個工程就完成了,保存下來,以后編程的時候直接可用,不用在配置第二遍
同時你往里面添加的用戶函數,配置串口什么的都可以保留下來,在main中直接調用免得后面要再次使用時很麻煩。
在安裝軟件和新建工程這個過程中可能會出現各種問題,最好的辦法就是百度,說實話,剛開始沒有接觸STM32,從軟件下載到安裝再到工程模板的建立我也弄了一天!要有耐心慢慢來!就會發現其實就那么回事!