【嵌入式工具】Keil下载,安装,配置教程大全
文章目錄
- 前言
- 一、Keil下載及安裝
- 二、Keil兼容C51和ARM
- 三、STM32支持包下載安裝
- 1. 官網(wǎng)下載
- 2. 安裝
- 四、常用配置
- 1. 代碼補(bǔ)全和代碼聯(lián)想
- 2. 主題設(shè)置
- 3. 快捷鍵設(shè)置
- 4. 快速模板
- 5. 快速格式化代碼
- 6. 轉(zhuǎn)換文件編碼格式
- /\*2022.3.22\*/更新
- 7. Keil中的歷史打開(kāi)文檔里面的坑//2022.5.19
前言
??作為最常用的單片機(jī)程序編輯工具,全球有超過(guò)10萬(wàn)的工程師在使用Keil,但初學(xué)者很有可能對(duì)Keil的各種信息和操作一無(wú)所知,我便是其中一員,由于最近看了很多Keil相關(guān)的教程,這里想結(jié)合自己的實(shí)踐經(jīng)驗(yàn)來(lái)寫一篇匯總式的教程,我覺(jué)得幾乎包含了在使用Keil的過(guò)程中可能出現(xiàn)的各種需求。
一、Keil下載及安裝
??使用一個(gè)軟件,首先是獲取這個(gè)軟件的安裝包,而根據(jù)我們的習(xí)慣,一般會(huì)選擇在官網(wǎng)下載,一個(gè)是保證版本要最新(沒(méi)有這個(gè)需求的當(dāng)我沒(méi)說(shuō)),一個(gè)是避免各種奇奇怪怪的問(wèn)題。
??于是,我們來(lái)到官網(wǎng):https://www.keil.com/,點(diǎn)擊Download。
??選擇Product Download。
??下載MDK-ARM和C51兩個(gè)安裝文件,如果只需要一個(gè),按需下載
??具體操作就不再演示了,下載時(shí)應(yīng)該還需要填寫一些信息,按需填寫。然后就可以得到兩個(gè)文件:
??注意:版本可能不一樣!但問(wèn)題不大。
二、Keil兼容C51和ARM
??由于安裝破解一種版本的Keil比較簡(jiǎn)單,網(wǎng)上教程一大堆,此處不再贅述,而是記錄一下自己在實(shí)現(xiàn)Keil兼容C51和ARM時(shí)的操作。我覺(jué)得大部分人應(yīng)該都會(huì)有這個(gè)需求。
??先說(shuō)說(shuō)我找的一些教程吧。在研究這個(gè)問(wèn)題的時(shí)候,我也是找了很多教程的,但我發(fā)現(xiàn)教程之間差得特別大,有些要求兩個(gè)軟件分開(kāi)安裝,然后復(fù)制來(lái)復(fù)制去的,還需要改變ini文件,確實(shí)非常復(fù)雜,但也有很簡(jiǎn)單的操作方式,那就是直接兩個(gè)安裝包裝一起就完事,非常簡(jiǎn)單。我試的就是后一種,而且親測(cè)有效! 下面簡(jiǎn)單敘述一下過(guò)程。
-
1. 安裝MDK,選擇一個(gè)你喜歡的路徑,其他的都是一路next。
需要注意這里有一個(gè)小講究,那就是路徑問(wèn)題,默認(rèn)路徑是C:\Keil_v5,雖然我們可以選擇其他路徑,但是仔細(xì)的話就會(huì)發(fā)現(xiàn),在下面有一行藍(lán)色小字,提示你這個(gè)路徑有嚴(yán)格的管理員權(quán)限限制,使得運(yùn)行需要管理員權(quán)限,那不用管理員權(quán)限運(yùn)行就不行了嗎?編輯代碼還是可以的,但是會(huì)出現(xiàn)一些奇怪的問(wèn)題,后面會(huì)有提及,先埋個(gè)伏筆。所以這里,我仍然改動(dòng)了路徑。 -
2. 安裝c51v960a
這個(gè)具體操作也是一路next,但是一定要注意,安裝路徑一定要和MDK-ARM安裝路徑相同!!!。另外,我看到的教程好像都是先安裝C51,再安裝MDK-ARM,但是我的順序不一樣好像也沒(méi)有問(wèn)題~~ -
3. 效果展示
安裝完兩個(gè)安裝包之后會(huì)發(fā)現(xiàn),桌面上仍然只有一個(gè)快捷方式,因?yàn)槠鋵?shí)創(chuàng)建了兩個(gè),但先創(chuàng)建的被默認(rèn)替換掉了,可見(jiàn)其執(zhí)行程序還是一樣的。雙擊快捷方式,打開(kāi)Keil,新建工程。
如果器件處可以選擇,表示兼容ARM和C51的Keil安裝成功! -
4. 激活
安裝完之后,為了正常使用,還需要進(jìn)行激活,方法和一般的激活方式差不多,但是記得注冊(cè)機(jī)要用2032年到期的,具體可以參考這個(gè)鏈接。
三、STM32支持包下載安裝
1. 官網(wǎng)下載
??Keil本質(zhì)上只是一個(gè)框架,如果不填充內(nèi)容,編譯單片機(jī)的程序就是一句空話,而支持包就是這個(gè)“內(nèi)容”。
??仍然堅(jiān)持我們軟件優(yōu)先從官網(wǎng)下載的原則,我們?nèi)ス倬W(wǎng)找一下支持包。仍然打開(kāi)官網(wǎng):https://www.keil.com,在搜索欄中搜索pack:
??回車,顯示搜索結(jié)果:
??很幸運(yùn),第一個(gè)就是,點(diǎn)擊進(jìn)入。
??為方便查找,可以點(diǎn)擊Device List,當(dāng)前看到的是具體板子的型號(hào),點(diǎn)擊之后相當(dāng)于對(duì)板子進(jìn)行分類。
??然后下載所需的型號(hào)即可。注意:如果需要F1的支持包,可以點(diǎn)擊F1系列下任何型號(hào),然后點(diǎn)擊右邊的下載即可,會(huì)自動(dòng)下載該系列的支持包。對(duì)應(yīng)型號(hào)板子的網(wǎng)頁(yè)內(nèi)容會(huì)提供該型號(hào)芯片的信息及相關(guān)的例程,輔助學(xué)習(xí)。
//2022.11.1更新:
??前兩天意外發(fā)現(xiàn)Keil官網(wǎng)下ST的支持包的位置換到Keil目錄下了。。。所以如果找不到ST開(kāi)頭的項(xiàng),建議直接使用瀏覽器的查找功能Ctrl + F,搜索STM即可。
??這一步之所以講得這么細(xì)致,主要是想 “授之以漁” ,如果以后需要其他型號(hào)的單片機(jī),也可以到這個(gè)網(wǎng)站按照這種方式來(lái)尋找。
2. 安裝
??說(shuō)到安裝,其實(shí)有兩種方式,一種是在線安裝,即打開(kāi)一個(gè)基于某個(gè)支持包的程序,軟件會(huì)自動(dòng)提示你這個(gè)程序基于xxx支持包,是否下載安裝,然后直接下載即可。(注意聯(lián)網(wǎng))
??而最為常見(jiàn)是還是離線安裝方式。可以直接雙擊下載的文件安裝,也可以在軟件界面內(nèi)點(diǎn)擊Package Installer來(lái)進(jìn)行安裝,效果一樣。
??但是在這里往往會(huì)遇到一個(gè)問(wèn)題,那就是包安裝失敗的問(wèn)題,目前來(lái)說(shuō),我遇到這個(gè)問(wèn)題100%是管理員權(quán)限的問(wèn)題,正是之前提到的安裝路徑更換需要管理員權(quán)限運(yùn)行。最簡(jiǎn)單的方法就是關(guān)閉程序,右鍵,以管理員身份運(yùn)行,但是每次都點(diǎn)也很麻煩,所以我建議出現(xiàn)問(wèn)題的可以直接設(shè)置快捷方式的屬性:
四、常用配置
??完成了以上內(nèi)容,Keil的安裝基本完成,接下來(lái)就是對(duì)Keil的配置操作了,這部分內(nèi)容可以提供你編程的速度和效率。以下操作內(nèi)容基本是操作該軟件的設(shè)置。提前告知位置:Edit -> Configuration(在最后)
1. 代碼補(bǔ)全和代碼聯(lián)想
??眾所周知,STM32的庫(kù)函數(shù)都特別長(zhǎng),那我怎么保證我沒(méi)有輸入錯(cuò)誤呢?主要依靠的就是代碼聯(lián)想和代碼補(bǔ)全功能。Keil雖然顯得很有年代,但其實(shí)Keil是具有代碼聯(lián)想和代碼補(bǔ)全功能的!
??而且這個(gè)設(shè)置默認(rèn)是打開(kāi)的,查看方法很簡(jiǎn)單,打開(kāi)設(shè)置,選擇Text Completion
2. 主題設(shè)置
??用Keil打開(kāi)一個(gè)工程,會(huì)看到如下界面:
??用四個(gè)字來(lái)形容,那就是又小又丑,不太適合編程,于是,優(yōu)化界面就顯得很重要了
??仍然是打開(kāi)設(shè)置,選擇Color&Fonts
??有意思的是,雖然每一項(xiàng)都設(shè)置了字體的選項(xiàng),但一旦設(shè)置字體,所有的都會(huì)改變(這顯然得要的嘛)字體大小同理。
??另外,需要注意的是,所有主題相關(guān)的更改,都會(huì)體現(xiàn)在文件global.prop中,而這個(gè)文件就在Keil安裝根目錄下,右鍵快捷方式選擇打開(kāi)文件所在位置即可找到。因此,如果想要快速更換主題,可以在網(wǎng)上找一些大佬們?cè)O(shè)置好的主題,直接替換即可。但建議最好替換完全一點(diǎn)。
3. 快捷鍵設(shè)置
??仍然打開(kāi)設(shè)置,選擇Shortcut Keys
??然后選擇對(duì)應(yīng)的功能進(jìn)行設(shè)置即可。建議將Comment Selection 和Uncomment Selection 設(shè)置快捷鍵,分別是注釋選中行和取消注釋選中行,但這個(gè)功能有點(diǎn)缺陷,就是這個(gè)“選中”是真的選中,而不能僅僅是鼠標(biāo)光標(biāo)停在某一行,有點(diǎn)奇怪。。。
4. 快速模板
??快速模板提供了一個(gè)隨時(shí)添加一個(gè)小模塊的功能,可以在一定程度上加快程序的編寫。
??進(jìn)入后,右鍵:
??選擇Configure Templates:
??這個(gè)功能可以用來(lái)編輯函數(shù)前的注釋,非常好用。
5. 快速格式化代碼
??參考鏈接:https://blog.csdn.net/u012121390/article/details/113861794?utm_source=app&app_version=4.14.0&code=app_1562916241&uLinkId=usr1mkqgl919blen
6. 轉(zhuǎn)換文件編碼格式
??在使用Keil時(shí),發(fā)現(xiàn)一個(gè)問(wèn)題,那就是不同編碼格式下的字體不一樣(雖然設(shè)置的字體是一樣的),主要表現(xiàn)為UTF-8格式下可以支持常用的編程字體,比如Fira Code,但是GB2312格式下卻不支持,然而現(xiàn)在很多例程都是GB2312的格式,作為一個(gè)美化狂,不能忍受這個(gè)問(wèn)題,于是就去找了一些相關(guān)的美化操作,沒(méi)想到,還真找到了,hh,可以參考這個(gè)鏈接。但是很無(wú)奈的是,和博主聊過(guò)之后才發(fā)現(xiàn),博主電腦上是支持的,但我這就是不行,各種方法都試過(guò)了,就很無(wú)奈。最后還是無(wú)意間找到一個(gè)替代品,參考這個(gè)鏈接。雖然不能集成到Keil中,但總的來(lái)說(shuō)使用很方便,就當(dāng)記錄一下了。
/*2022.3.22*/更新
??之前經(jīng)過(guò)自己的試驗(yàn),發(fā)現(xiàn)將代碼文件轉(zhuǎn)化編碼格式會(huì)出現(xiàn)很多意想不到的問(wèn)題,比如自帶字庫(kù)的LCD12864模塊,需要注意:這個(gè)自帶的字庫(kù)的編碼方式是GB2312,即Keil默認(rèn)的中文編碼格式,也就是說(shuō)如果你的.c文件編碼格式為UTF-8,那么你寫的中文就不能被LCD模塊識(shí)別,從而導(dǎo)致亂碼,這個(gè)問(wèn)題估計(jì)沒(méi)幾個(gè)人會(huì)遇到,但一旦遇到,估計(jì)就是卡好幾天,還得質(zhì)疑LCD是不是燒了。。。
??在遇到這個(gè)問(wèn)題之后,我在反思為什么我想要將代碼文件的編碼格式轉(zhuǎn)換成UTF-8,原因就是我想要美化字體,但是中文編碼格式下不支持很多編程字體,那么有沒(méi)有什么辦法可以不改變編碼格式而且也能有好看的字體呢?還真有。參考MATLAB,我們可以考慮使用混合字體,這里推薦一個(gè)混合字體,也是最為常見(jiàn)的混合字體:Consolas+微軟雅黑,就不放下載鏈接了,大家可以上網(wǎng)搜一下,資源很多。
7. Keil中的歷史打開(kāi)文檔里面的坑//2022.5.19
??最近使用Keil遇到一個(gè)很離譜的事情,那就是發(fā)現(xiàn)程序無(wú)理報(bào)錯(cuò) undefined identifier,而且程序確定是對(duì)的,這就很離譜了,經(jīng)過(guò)一通查找,最后無(wú)意間發(fā)現(xiàn),其報(bào)錯(cuò)指向的頭文件似乎不是我打開(kāi)的那個(gè),但是名字卻是完全一樣的,這就很奇怪了,我一開(kāi)始還以為是寫程序的人疏忽了,但是工程文件夾下卻只有一個(gè)文件。然后我把所有已打開(kāi)的文檔全部關(guān)閉,然后再重新打開(kāi)工程,意外發(fā)現(xiàn),那個(gè)頭文件,竟然還是我修改之前的文件。。。
??到這里,基本明白了是怎么回事,Keil留有一個(gè)功能很有意思,那就是會(huì)記錄你這個(gè)工程打開(kāi)了哪幾個(gè)文件,然后在你下次打開(kāi)的時(shí)候直接讀取“記憶”,這樣就方便開(kāi)發(fā)人員,但是實(shí)際上它打開(kāi)的是緩存文件,如果你在關(guān)閉工程之后又移動(dòng)了它的路徑,那就完蛋了,它打開(kāi)了緩沖文件你改動(dòng)是沒(méi)辦法指向原文件的,也就意味著你改動(dòng)的其實(shí)并不是真正的文件。。。。。
??所以,為了避免這種尷尬的事情再次發(fā)生,個(gè)人覺(jué)得應(yīng)該得改變一下使用習(xí)慣。一個(gè)就是關(guān)閉所有文檔之后再關(guān)閉工程,一個(gè)就是要學(xué)會(huì)識(shí)別這種緩沖文件,其特點(diǎn)就是文件名都大寫了。
總結(jié)
以上是生活随笔為你收集整理的【嵌入式工具】Keil下载,安装,配置教程大全的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 《PowerShell V3——SQL
- 下一篇: [剑指offer][JAVA]面试题第[