手把手教你在Keil?MDK中使用GCC編譯器工具鏈
Keil MDK 是否支持編譯器?有沒(méi)有辦法選擇其他編譯器?
可能你使用其他GUN工具鏈進(jìn)行編譯時(shí),會(huì)出現(xiàn)類似如下錯(cuò)誤:
--- Error: can't execute 'as'
--- Error: can't execute 'gcc'
用于ARM芯片的GCC編譯器有許多不同的變體,現(xiàn)在Keil MDK仍然支持GCC編譯器的,下面就來(lái)講述一下在Keil MDK中使用GCC編譯器工具鏈。
嵌入式專欄1關(guān)于 GCCGCC?原本代表“GNU C Compiler”的意思,它屬于GNU編譯器套件。GCC 是 GNU 推出的功能強(qiáng)大、性能優(yōu)越的多平臺(tái)編譯器,是 GNU 的代表作品之一。
網(wǎng)址:
https://gcc.gnu.org
目前(2020-11)GCC已經(jīng)更新到 V10.2版本了。
早期的GCC主要針對(duì)于C語(yǔ)言,隨著編程的發(fā)展,現(xiàn)在不僅支持C語(yǔ)言,還支持其他很多語(yǔ)言,包括 C 、Ada、Objective-C、Fortran 和 Java 等。
因此,GCC 的意思被重新定義為“GNU Compiler Collection”,也即“GUN 編譯器套件”。
GCC受到廣大軟件開(kāi)發(fā)者的喜歡,有一個(gè)很重要的原因就是免費(fèi)。你會(huì)發(fā)現(xiàn)一個(gè)問(wèn)題,很多開(kāi)源的IDE,基本上集成的編譯器都是GCC,比如STM32CubeIDE、RT-Thread Studio等。
關(guān)于GCC更多的介紹,可以參看我之前分享的文章GCC為何如此強(qiáng)大?
嵌入式專欄2下載 GCC 工具鏈這里使用的 GCC工具鏈?其實(shí)是“GNU Arm嵌入式工具鏈”,是ARM 官方推薦的一套工具,主要是針對(duì)32位Arm Cortex-M、 Cortex-R和Cortex-A系列處理器的一套工具鏈。
“GNU Arm”包括GNU編譯器(GCC),可直接從Arm免費(fèi)獲得,用于Windows,Linux和Mac OS X操作系統(tǒng)上的嵌入式軟件開(kāi)發(fā)。
下載地址:https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads(公號(hào)不支持外鏈接,請(qǐng)復(fù)制鏈接到瀏覽器打開(kāi))
進(jìn)入網(wǎng)頁(yè),根據(jù)自己系統(tǒng)選擇合適的版本下載:
當(dāng)然,我們這里選擇windows版exe文件,或壓縮文件。(因?yàn)镵eil只支持Windows版本)。
其實(shí),你可以在gcc主干上找到分支:https://gcc.gnu.org/git/gcc.git
嵌入式專欄3安裝 GCC 工具鏈方法一:安裝exe文件在windows安裝exe文件,相比是一個(gè)程序員都會(huì)安裝,根據(jù)提示信息,基本上一路“next”下去就行了。
方法二:直接解壓zip壓縮文件如果下載的是zip壓縮文件,直接解壓文件到指定目錄即可。
如果你進(jìn)行了第一種方法exe安裝,你進(jìn)入安裝目錄下,你會(huì)發(fā)現(xiàn)安裝的文件和這里解壓的文件一樣。
嵌入式專欄4Keil?配置?GCC 工具鏈這里配置方法和我之前分享文章《手把手教你升級(jí)Keil MDK的ARM編譯器》中第3章節(jié)【Keil 配置編譯器】方法類似。
打開(kāi)工程管理,進(jìn)入“Folders/Extensions”選項(xiàng)欄可以通過(guò)菜單:Project -> Manage -> Project items進(jìn)入。
也可以通過(guò)工具欄工程管理快捷圖標(biāo)進(jìn)入:
這里切換配置編譯器工具方法比較簡(jiǎn)單,此時(shí)就可以和往常一樣正常使用了。
strongerHuang5額外說(shuō)明切換編譯器會(huì)導(dǎo)致工程配置選項(xiàng)發(fā)生變化,比如:
配置選項(xiàng)發(fā)生變化都是小問(wèn)題,因?yàn)椴煌幾g器,代碼不兼容性才是大問(wèn)題,比如你直接編譯針對(duì)Arm編譯器的代碼,肯定會(huì)出問(wèn)題。
這里的細(xì)節(jié)比較多,后期抽空再給大家描述切換編譯器代碼遷移修改的內(nèi)容。
------------?END?------------
往期精彩
STM32開(kāi)發(fā) -- Keil基本使用Keil MDK軟件包(pack)下載的幾種方法【編譯器玄學(xué)研究報(bào)告】第一期——位域和volatile分享一個(gè)在Keil開(kāi)發(fā)環(huán)境中配置代碼格式化工具Astyle(美化代碼風(fēng)格)Keil MDK的一些推薦功能(編碼格式、自動(dòng)保存、代碼提示、動(dòng)態(tài)語(yǔ)法檢查、多核編譯)
覺(jué)得本次分享的文章對(duì)您有幫助,隨手點(diǎn)
[在看]
并轉(zhuǎn)發(fā)分享,也是對(duì)我的支持。