當前位置:首頁 » 編程軟體 » keilmdk編程編譯方法簡介

keilmdk編程編譯方法簡介

發布時間: 2024-09-05 15:13:03

㈠ 基於keil MDK給stm32編程的問題。。。嵌入式系統開發環境的搭建

您好,一、【安裝STM32庫】 將下載後的stm32f10x_stdperiph_lib.zip解壓後得到三個文件夾分別是:"Libraries"、"Project"、"Utilities"將這3個目錄復制到"Keil uVision4"的安裝目錄,和目錄中的文件覆蓋合並。二、【新建工程】 1、打開"Keil uVision4",在Project菜單中選擇新建工程,選擇工程要保存的位置,在彈出的「Select Device for target」的對話框中選擇使用的STM32單片機的型號如「STM32F103C8」,點確定,然後在彈出的「Copy startup code」的對話框中點選"NO".
2、在Project「Target 1」上點選右鍵菜單「Option for target target1中設置相關參數」在[Output]選項卡中點選「Create HEX file」,點"Select folder for objects"設置臨時生成的obj文件的存放目錄,當然也可以不選擇;
3、在[C/C++]選項卡的"Preprocessor Sysmbols"的Define框中做如下定義:USE_STDPERIPH_DRIVER,STM32F10X_MD
其中USE_STDPERIPH_DRIVER表明要使用ST提供的庫,在"system_stm32f10x.c"文件中包含的"stm32f10x.h"文件中有如下定義:
#ifdef USE_STDPERIPH_DRIVER #include "stm32f10x_conf.h"#endif在[C/C++]選項中添加的USE_STDPERIPH_DRIVER宏就是這個作用,用來包含"stm32f10x_conf.h"這個文件被稱為"Library Configuration file"用來配置你需要使用到庫的那些文件的,例如需要使用到GPIO就應在在這個文件中加上#include "stm32f10x_gpio.h"這個文件可以在STM32庫的給出的常式中找得到(C:\Keil\ARM\Project\STM32F10x_StdPeriph_Examples)另外還需要在常式中復制"stm32f10x_it.c"和"stm32f10x_it.h"這2個文件,這2個文件時用來完成STM32中重中斷服務程序的將一下三個文件復制到自己工程的user目錄下供以後使用:"stm32f10x_conf.h"、"stm32f10x_it.c"、"stm32f10x_it.h"STM32F10X_MD 表明使用的是STM32F10X系列的CPU而該CPU的Flash代碼密度是中等(Medium-density devices)這個和使用的CPU相關的查閱CPU的手冊就可以得到。
然後在該選項卡的下方的"Include Paths"中設置include使用的路徑等,如下圖所示:其中.\user路徑是用來保存自己定義的頭文件的路徑4、[Debug]選項卡選擇使用"Cortex-M/R J-Link/J-Trace",然後點"Settings"按鈕在新打開的對話框中選擇[Flash Download]選項卡點"Add"按鈕添加編程使用的Flash,在本例中選用的CPU是STM32F103C8,其Flah為Medium-density使用片上的Flash型號為"STM32F10X Med-density Flash On-chip-Flash 128K",最終點OK保存設置。5、[Utilities]選項卡中的"Use Target Device for Flash Programing"要選擇和[Debug]選項卡中一樣的調試器"Cortex-M/R J-Link/J-Trace";6、然後再次在左側的"Target 1"上點選右鍵,在菜單中選擇"Manger Components"然後在"Project components"選項卡的"Group"中新建3個組名稱分別為"user"、"libs"、"cmsis"1、 分別用來保存用戶自己的C文件、stm32f10x_stdperiph_lib的庫、和cortex-m3的啟動文件等。

users:
Keil\ARM\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\ system_stm32f10x.c (stm32f10x_it.c該文件定義各種中斷的中斷服務函數)
libs:
Keil\ARM\ Libraries\ STM32F10x_StdPeriph_Driver\src\*.*
cmsis:
Keil\ARM\ Libraries\ CMSIS\ CM3\ CoreSupport\core_cm3.c
Keil\ARM\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c
keil\ARM\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_md.s
(該文件和CPU的Flash的代碼密度相關,本例中的STM32F103C8是Medium-density故選用xxx_md.s)

熱點內容
為什麼伺服器有多個ip地址沖突 發布:2025-07-01 06:32:09 瀏覽:620
java的md5演算法實現 發布:2025-07-01 06:23:09 瀏覽:233
android默認的activity 發布:2025-07-01 06:06:12 瀏覽:421
青浦智能密碼鎖開鎖多少錢 發布:2025-07-01 06:02:42 瀏覽:441
編譯內核生成 發布:2025-07-01 05:48:23 瀏覽:618
咖啡壓縮糖 發布:2025-07-01 05:43:58 瀏覽:581
雲搜卡源碼 發布:2025-07-01 05:32:38 瀏覽:543
華為伺服器怎麼查ip 發布:2025-07-01 05:15:18 瀏覽:373
編譯器中的數據結構 發布:2025-07-01 05:10:53 瀏覽:529
雲伺服器最先跑什麼 發布:2025-07-01 05:02:39 瀏覽:219