當前位置:首頁 » 編程軟體 » stm32怎麼用keil編譯

stm32怎麼用keil編譯

發布時間: 2023-01-23 22:07:49

㈠ 怎麼把stm32103晶元keil

怎麼把stm32103晶元keil, keil安裝

通過以上鏈接下載mdk和注冊器,點擊安裝mdk,根據提示自行更改軟體路徑和支持包路徑,填寫完注冊信息後NEXT,等待安裝。安裝完成,點擊Finish。

注冊

1.點擊運行注冊器程序。

2.在桌面找到keil軟體圖標,點擊右鍵,以管理員身份運行。

3.點擊File–>Lincense Management–>Single-User Lincense,找到CID,復制CID中的內容填寫到注冊器的CID空白處,將注冊器中Target選擇為ARM,點擊Generate,得到注冊碼。

4.將生成的注冊碼復制粘貼到Keil的New Lincense ID Code空白處,點擊Add LIC,點擊Close。

支持包安裝

點擊運行下載的支持包,NEXT開始安裝,安裝完成,點擊Finish。

㈡ 如何使keil既能編寫51又能編寫STM32

Keil軟體,按預設設置,先裝MDK,裝完後,不要做任何處理(不卸載,不改變目錄);之後繼續安裝KeilC51軟體,按預設安裝,安裝完成後,你運行KEIL軟體,裡面就由STM32等ARM供你選擇了。

㈢ 基於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)

㈣ 如何使用MDK建立一個STM32工程

1.解壓stm32f10x_stdperiph_lib.zip 可以從ST官方網站免費下載。
2.創建一個Demo文件夾
2.1 新建子文件夾User,用於存放用戶源程序
2.2 新建子文件夾Project,用戶KEIL工程文件
2.3 在Project下依次創建Obj和List子文件夾,存放編譯過程中產生的中間文件。

3. 復制源代碼到Demo文件夾
3.1 將stm32f10x_stdperiph_lib\STM32F10x_StdPeriph_Lib_V3.1.2Libraries文件整體復制到Demo文件夾下。這就是ST的標准庫,是以源代碼形式提供的。
3.2 將庫中的演示代碼IOToggle中的文件復制到Demo\User文件夾.

4. 新建一個Keil MDK工程
4.1 啟動Keil MDK,點擊菜單 New uVision Project,然後按向導進行操作
4.2 選擇CPU類型為 STM32F103ZE (這是安富萊STM32開發板採用CPU類型)
4.3 當提示是否復制啟動代碼時,請選擇否。(我們用最新的庫中的啟動代碼,不用Keil軟體自帶的舊版本啟動文件)
4.4 根據自己的需要修改Target名字。(名字任意)
4.5 為了便於代碼管理,在這個Project下創建幾個Group (名字可以任意)
User : 存放用戶自己寫的源代碼
RVMDK : 存放啟動文件(匯編文件)
StdPeriph_Driver : 存放ST標准庫文件
CMSIS : 存放CMSIS介面文件(這也是庫的一部分)
4.6 創建好Group後,我們開始依次添加文件。

5. 修改源代碼。我們將修改main.c 文件,換成我們自己跑馬燈程序。

6. 配置工程, 點擊「Options」按鈕
6.1 切換到Output。
選擇Object文件夾。
在Create Hex File 前打鉤。
6.2 切換帶Listing。
選擇Listings文件夾
6.3 切換到C/C++
添加兩個預編譯宏 STM32F10X_HD, USE_STDPERIPH_DRIVER (這是ST庫用到了這兩個宏)
修改Includes路徑
6.4 切換到Debug
選擇硬體調試器(預設是軟體模擬),我們選擇Cortex-M3 J-Link調試器
再 Run to main前打鉤
6.4 切換到Utilities
選額調試器類型,我們選擇Cortex-M3 J-Link
點settings按鈕,添加Flash編程演算法,我們選擇STM32高密度器件,Flash容量512K位元組

7. 配置工程完畢。下面開始編譯。

8. 編譯OK,開始調試。

9. 教程結束。

㈤ kiel tutinstm32文件能編譯嗎

可以。
STM32是ARM7核,而KEIL是ARM旗下的,KEIL只是一個開發環境,支持什_還需要下載相應的編譯器,你原來如果是學51的,肯定有C51編譯器,但是你需要去官網下載KEIL MDK就是所說的RVMDK,就是ARM的編譯器,包含STM32,然後安裝,然後看著教程打開KEIL選擇相應的晶元來建立工程就行了,不過需要破解。
一般在STM32工程使用Keil編譯之後,keil的build output窗口中會出現如圖所示的輸出信息,其中會顯示code_笮。_O-data、RW-data、ZI-data大小。ARM程序的組成(ARM系統中正在執行的程序,而非保存在ROM中的BIN映像文件,請注意區別):一個ARM程序包含3個部分:RO,RW和ZI,RO是程序中的指令和常量;RW是程序中已經初始化的變數;ZI是程序中未經初始化的變數;以上3點可以理解為:RO就是readonly,RW就是read/write,ZI就是zeroARM映像文件的組成:所謂的ARM映像文件就是燒錄到ROM中的BIN文件,也稱為Image文件,以下用Image文件來替代。Image文件包含了RO和RW數據,之所以Image文件不包含ZI數據,那是因為ZI數據都是0,沒必要包含,運行之前將ZI數據數據所在的區域清零即可,包含進去反而浪費存儲空間補充一個問題:Q:為什麼Image必須O,RW?A:因為RO中的指令和常量以及RW中初始化過的變數是不能像ZI那樣無中生有的。

㈥ 在用編譯軟體keil進行頭文件通常有幾種寫法

三種。本篇筆記介紹一些魚鷹常用的 KEIL 編輯方法與技巧,用於加快編輯速度。
當然了,很多人現在更多的是使用 VSCode 或者 SI 等軟體進行編輯,但不可否認的是,還有很多道友還是選擇 KEIL 作為編輯軟體的,畢竟這是初戀,已經習慣了。
所以,本篇筆記作為一個編輯技巧的總結。
當然了,關於 KEIL 軟體的使用還有一個系列可以參考:
STM32工程模板建立之 KEIL 開發平台設置(一)
STM32工程模板建立之新建工程(二)
STM32工程模板建立之 Simu 目標(三)
STM32工程模板建立之 FLASH 目標(四)
STM32工程模板建立之 RAM 目標(五)
1、雙屏
有的時候需要同時看兩個文件的內容,比如C文件和 H文件的內容,這個時候,可以使用 KEIL 雙屏的功能。
橫屏、豎屏隨你選擇,下面是豎屏效果:
2、TAB替換為空格鍵
安裝KEIL軟體後,默認情況下TAB鍵佔用2個空格,雖然這樣說,實際上還是 TAB 鍵,只是顯示有所不同罷了。
為了看出到底是 TAB 還是空格,我們可以開啟這個顯示功能:
我們可以看下圖效果,左邊點為空格,右邊箭頭是TAB鍵。
那麼我們為什麼要注意這個,我們知道有些編輯器 TAB 鍵佔用 2 個空格,有的佔用 4 或 8 個空格,而這里沒有一個標准,所以當你把同一個文件在不同編輯器打開時,顯示的格式可能不一樣的。
具體表現是,在一個編輯器裡面,代碼顯得很整齊,換了個編輯器之後,代碼變亂了。
所以更好的方式是,將 TAB 鍵替換為空格鍵,這樣,不管在哪個編輯器打開,都是整整齊齊了,也不需要修改 TAB 佔用多少個空格的問題了。
所以,我們可以打開這個選項:
這樣,你的TAB鍵在敲下後就自動轉化成了空格鍵,再也不用手動替換或者手動敲空格了。
關於 TAB 鍵還有一個老司機都會用的技巧,shift +Tab 可以將選中的多行代碼進行整體左移,而tab鍵可以將選中的多行代碼進行整體右移。
3、打開頭文件
KEIL 為人所詬病的一個很大的缺點就是很難查找一個文件。這里魚鷹介紹一個快速打開C文件對應 H 文件的方法:
如果該文件有頭文件的話,那麼很快就可以打開了。
對於包含的頭文件,可以這樣操作:
5.30 版本出現了一個新特性,就是可以在 C 文件和 H 文件之間來回切換,方法類似。
還有對於常用的頭文件,我們可以將其直接添加到工程目錄中,這樣也能方便打開文件(不建議把所有的頭文件都放在工程目錄中,不然會顯得文件很多)。
如果打開的文件太多,又不想關閉的話,可以通過該方式選擇文件:
如果想關閉的話,可以使用如下方式:
當然,這上面可以打開對應的文件夾或者復制文件路徑,對於那些庫文件的打開來說是非常方便的。
再也不用在安裝目錄下一個個找文件了。
4、添加說明文件
有的時候,需要對工程進行說明,此時我們可以添加一個 txt 文件用於說明:
5、暫時屏蔽文件
當我們不想讓一個源文件參與鏈接與編譯時,我們可以將其從工程中移除,但有的時候我們希望保留在工程目錄中方便查看,就像上圖的 printf_fifo.c 文件一樣,那麼我們可以通過以下方式設置:
之後進入以下窗口,去掉勾選即可:
關於它的更多說明,可參考魚鷹STM32工程模板系列文章。
6、搜索
使用CTR + F 或者 CTR + H快捷鍵可以很快的進行查找或替換,其實還有一個選擇,那就是將全部的搜索結果展示出來:
你也可以以精準的方式進行查找,比如全匹配(Match whole word)、大小寫匹配(Matchcase),甚至是正則表達式。
如果還有其它好用的編輯技巧,不如留言討論。
推薦閱讀:許久以後,你會感謝自己寫的異常處理代碼終極串口接收方式,極致效率為什麼說你一定要掌握 KEIL 調試方法?延時功能進化論(合集)指針,很難嗎?| 解析指針的過程與意義(一)如何寫一個健壯且高效的串口接收程序?KIEL 調試那些事兒之窗口展示——變數(二)打了多年的單片機調試斷點到底應該怎麼設置?| 顛覆認知
回答於 2022-12-07
搶首贊
兒童電動汽車價格,超值好物熱賣,上淘寶,放心購!

多倉發貨兒童電動車四輪遙控寶寶車大款兒童電動汽車可坐人雙座搖
¥1170 元

兒童電動車帶遙控四輪帶搖擺小孩汽車動寶寶可坐人四驅可電充童車
¥608.4 元

賓士兒童電動車四輪帶遙控搖擺汽車可做人男女孩寶寶音樂充電童車
¥228 元

新品兒童電動車嬰兒四輪遙控汽車可坐人男女小孩搖擺童車寶網紅款
¥482.4 元

兒童大人一體車嬰兒童電動車大人帶小孩寶寶遙控玩汽車輪帶搖擺四
¥549.6 元
simba.taobao.com廣告
看YY直播,根本停不下來
00:13
YY版本8.17.1
廣州津虹網路傳媒有限公司
隱私
許可權
立即下載
YY廣告
大家還在搜
bt手游第一平台
旅遊英語口語速成
新型建材整體房屋
連鎖加盟商
淘寶上如何開網店
國家認可的豐胸品牌
家裝網
借貸平台
更多專家
在用編譯軟體keil進行頭文件通常有幾種寫法
專家1對1在線解答問題
5分鍾內響應 | 萬名專業答主
馬上提問
最美的花火 咨詢一個電子數碼問題,並發表了好評
lanqiuwangzi 咨詢一個電子數碼問題,並發表了好評
garlic 咨詢一個電子數碼問題,並發表了好評
188****8493 咨詢一個電子數碼問題,並發表了好評
籃球大圖 咨詢一個電子數碼問題,並發表了好評
動物樂園 咨詢一個電子數碼問題,並發表了好評
AKA 咨詢一個電子數碼問題,並發表了好評
— 為你推薦更多精彩內容 —
張飛據水斷橋後,曹操麾下的九位名將為何都跑了?
首先要說一下,歷史上張飛雖然也曾經據水斷橋,喝退曹軍追兵,不過並沒有提及有曹操手下九位名將在場。只有
不沉的經遠
  回答於 2022-07-20
2點贊564瀏覽
培訓機構-上淘寶選好物,輕松下單,放心購物!
值得一看的培訓機構相關信息推薦
淘寶熱賣廣告
無花果喜歡什麼肥料,如何施肥才更有利於無花果提高產量質量?
視頻回答
手機用戶97575
  回答於 2022-11-08
34點贊0瀏覽
二審只要上訴就立案嗎
視頻回答
國樽律師事務所
  回答於 2022-04-04
252點贊4瀏覽
十二星座中做一行精一行,天賦很強的星座都有誰?
每個人都可以逐漸創業或做一些小生意,但並不是每個人都能做好生意和事業。有些人每天都是和尚,有些人努力
狐狸說影視
  回答於 2022-11-02
6瀏覽

恭喜!有一份降溫補貼可抽取!
巨摩互動
廣告
大四學生為助農,購1噸芹菜捐母校,怎樣看待此行為?你給母校捐過東西嗎?
大四學生為了助農購買了一噸芹菜捐母校,這樣的行為彰顯了正能量。大部分有經濟能力的人都給母校捐過東西,
懶懶是個萌妹子
  回答於 2022-12-07
68瀏覽
正在載入
全部

㈦ stm32怎麼建立工程keil4

你好:
首先你需要下載安裝keil mdk的編譯器,才能開發ARM的MCU。
然後正確選用編譯器之後就和51單片機一樣新建工程,只不過多了一步添加啟動文件。
希望我的回答能幫助到你。

㈧ 使用keil5編譯stm32,頭文件core_cmFunc.h中,是預定義__CC_ARM,還是__GNUC__

編譯的時候,可能是那個地方定義了__CC_ARM, 預編譯指令執行了#if defined ( __CC_ARM )下面的代碼,沒有執行#elif defined ( __GNUC__ )下面的代碼;

#if ...
...
#elif ..
...
是條件預編譯,只執行其中的一個分支

㈨ 怎麼用keil uvision給stm32編程,我用的是野火開發板。。。把一些該添加的東西已經添到軟體中

編譯、連接、下載、調試。

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:710
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:972
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:681
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:833
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:741
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1081
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:312
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:192
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:879
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:837