前期准備:
1.keil V5 MDK-ARM
2.固件庫V3.5.0(STM32F10x_StdPeriph_Lib_V3.5.0)
3.STM32F103C8T6最小系統板
4.J-Link燒寫器
下面進行開發環境的搭建
下載固件庫,進行解壓,大概了解一下,然后關閉。

接着新建或找到自己的工作空間(建立工作空間的目的是便於儲存不同開發環境下的工程)

新建工程模板(名稱根據自己喜好安排)

在文件夾中新建四個文件夾

第一個文件夾ASM。存放與單片機相關的匯編文件,里面是與單片機啟動相關的內容
在固件庫\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm

根據單片機的情況選擇,STM32F103C8T6屬於中容量
這里可以全部復制過來,在工程配置時選擇
第二個文件夾LIB。存放固件庫源碼與頭文件
在固件庫\Libraries\STM32F10x_StdPeriph_Driver路徑下的inc和src都復制過來

第三個文件夾System。存放內核相關、中斷入口定義、一些重要的頭文件

這些文件在
固件庫\Libraries\CMSIS\CM3\CoreSupport
固件庫\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x
固件庫\Project\STM32F10x_StdPeriph_Template
第四個文件夾USR。存放開發者自己的源碼
新建一個文本文檔

重命名為main.c
如果有提示選擇“是”

到這里工程文件已經准備齊全,打開Keil進行工程的軟件配置

點擊新建工程New uVision project
選擇剛才的路徑\KeilMDKWorkSpace\STM32F103Project打開

寫上文件名,一般和工程的文件夾名一致。這里寫STM32F103Project,保存

彈出器件選擇提示框
在Search快速搜索:F103C8

(1)發現並沒有搜索結果,說明沒有安裝相關器件庫,繼續安排
(2)有搜索結果,點擊此處跳轉閱讀。
打開Pack Installer

在Search快速搜索:STM32F103C8

在右側的Packs中可以看到keil::STM32F1xx_DFP
點擊Install,進行安裝

當右下角100%時下載完成

Up to date為灰色時說明安裝了最新的器件庫

關閉頁面后,會有是否重新加載提示。選擇“是”

返回上邊,新建工程New uVision project,按以上流程進行會搜索到結果
如果搜索到了結果會有如下顯示,選中點擊“OK”

繼續點擊“ok”

點擊項目目錄規划


選擇對應名稱文件會出現這樣,點開文件類型選Asm Source files

選中適合當前單片機容量的啟動文件,STM32F103C8T6屬於中容量,進行添加:Add(點一下就OK)

添加完成后 是這個樣子的

USR文件夾Add

System文件夾Add

LIB文件夾把inc和src中的都Add

點擊OK,項目文件夾就添加好了
點擊項目配置按鈕:Options for Target...

在Target選項中,更改主頻。ARM Compiler選擇 Use default compiler version 5

在Output選項中勾選創建十六進制文件: Create HEX file

在C/C++選項中,配置宏:STM32F103X_MD,USE_STDPERIPH_DRIVER
宏參數1根據單片機容量填寫,大容量(HD),STM32F103C8T6為中容量(MD),所以是STM32F103X_MD
宏參數1與參數2用(英文半角逗號)隔開。

在C/C++選項中,設置 頭文件 的路徑 Include Paths

在Debug選項中,選擇調試工具J-Link等,選好之后點擊:Setting

在Setting里的Degug選項。選擇Jlink的連接模式,JTAG或SW。這里根據單片機的實際連接選擇

在Setting的Flash Download選項中。勾選:Reset and Run 並確定

在Utilities選項中去掉 調試前更新:Update Target before Debugging
並添加輸出文件到USR,點擊OK

打開main.c文件 編寫測試代碼,並點擊編譯按鈕

如果出現以下錯誤

說明逗號用錯了,把中文逗號改為 英文半角逗號(,)
點擊OK

再次編譯(快捷鍵F7),會提示 0錯誤,0警告:

這說明,我們的開發環境沒問題了
把單片機和仿真器連接好,單片機供電。BOOT0置0,BOOT1置0置1都可。(進入Flash)
點擊下載程序:Download

可以看到程序下載完成

到這里就可以開發自己的程序了。
需要注意的是:
采用庫函數開發時,最好用到那部分內容再添加到工程中,例如用到adc就把adc.c 添加到工程中。
固件庫模塊聲明在STM32f10x_conf.h中

沒有用到的部分注釋掉,可以在編譯程序時加快編譯效率。
本教程內容大多搬運自CSDN優秀原創作者“年紀青青”,並非本人原創。
在結合了實踐,經歷了可能出現的錯誤后。本文把流程和某些錯誤的解決辦法一起寫下,更加適合 新手上路。
原文鏈接:STM32F10x在Keil環境下的配置
CSDN優秀作者主頁:年紀青青
如有侵權請聯系本文作者,第一時間刪除博文並致歉。
