在開(kāi)始編寫(xiě)驅(qū)動(dòng)之前,我們需要保證良好的編碼環(huán)境,這里編寫(xiě)代碼所使用的編輯器是VScode,如果進(jìn)行環(huán)境配置,可能會(huì)提示很多錯(cuò)誤,比如頭文件找不到、內(nèi)核函數(shù)的定義無(wú)法跳轉(zhuǎn)等等。
VScode 在這里只作為編輯器使用,配置的是編輯環(huán)境,而不是編譯環(huán)境。
目錄
一、內(nèi)核源碼準(zhǔn)備
1、下載并解壓內(nèi)核源碼
2、內(nèi)核源碼解壓
二、VScode 編輯環(huán)境配置
三、VScode安裝插件
一、內(nèi)核源碼準(zhǔn)備
1、下載并解壓內(nèi)核源碼
編寫(xiě)驅(qū)動(dòng)時(shí),我們需要用到內(nèi)核中的一些頭文件,如 linux/module.h、fs.h 等,因此,我們需要先下載內(nèi)核源碼,本人使用的是imx6ull mini 版,可以在正點(diǎn)原子官方論壇下載到內(nèi)核源碼。
正點(diǎn)原子下載中心鏈接:正點(diǎn)原子下載中心
下載以后,然后解壓,按照下圖提示就可以獲取到內(nèi)核源碼了。
2、內(nèi)核源碼解壓
內(nèi)核源碼我們需要有兩份,一份是放在Windows環(huán)境下,用于解決我們編寫(xiě)代碼時(shí),VScode找不到頭文件的問(wèn)題。
一份是放在Linux環(huán)境下,用于提供一些內(nèi)核庫(kù),以便于將寫(xiě)好的源文件編譯成模塊(.ko 文件)
Windows下解壓
解壓以后記住解壓路徑,等會(huì)在配置VScode的時(shí)候會(huì)用到。本人這里的解壓路徑是?D:/linux-kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek
Linux下解壓
解壓以后同樣要記住解壓路徑,等會(huì)在編寫(xiě)Makefile文件的時(shí)候,需要指明內(nèi)核源碼所在目錄。本人這里的解壓路徑是?/home/pigeon/workspace/linux-kernel?
二、VScode 編輯環(huán)境配置
方式一:VScode UI 配置
按下 Ctrl + Shift + P 打開(kāi)設(shè)置面板,輸入 c++ configure,選擇Edit Configurations(UI)?
接下來(lái)就可以根據(jù)自身需求配置 C/C++ 環(huán)境了,下面選擇的是調(diào)試時(shí)使用的編譯器
這里是額外添加一些頭文件路徑,以便于我們?cè)谡{(diào)試時(shí)可以跳轉(zhuǎn)到指定頭文件。下次再點(diǎn)進(jìn)來(lái)看,似乎會(huì)被清空,但是效果依然在。
"D:\\linux-kernel\\linux-imx-4.1.15-source-compiled\\include"
"D:\\linux-kernel\\linux-imx-4.1.15-source-compiled\\arch\\arm\\include"
"D:\\linux-kernel\\linux-imx-4.1.15-source-compiled\\arch\\arm\\include\\asm"
這里選擇的是 C語(yǔ)法標(biāo)準(zhǔn)和 C++ 語(yǔ)法標(biāo)準(zhǔn)
方式二:配置文件配置?
除了在這個(gè)地方配置,其實(shí)還可以通過(guò)配置文件來(lái)配置,你打開(kāi) vscode 的時(shí)候,當(dāng)前目錄下會(huì)有一個(gè) .vscode 目錄,里面就包含了?c_cpp_properties.json 和?settings.json 兩個(gè)配置文件。
c_cpp_properties.json 和上面UI 配置的效果是一樣的,可以手動(dòng)修改頭文件路徑、編譯器路徑、編譯器選項(xiàng)等。
settings.json 可以對(duì)VSCode進(jìn)行頁(yè)面風(fēng)格、代碼格式、字體顏色大小等的編輯設(shè)置,此外還可以在我們查找時(shí)自動(dòng)過(guò)濾某些文件(即不納入查找)文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-721414.html
三、VScode安裝插件
VSCode 支持多種語(yǔ)言,比如 C/C++、Python、C#等等,為了方便后續(xù)代碼編寫(xiě),需要安裝一些插件,如 C/C++的擴(kuò)展包、設(shè)備樹(shù)語(yǔ)法、Makefile語(yǔ)法等。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-721414.html
- C/C++:必須要有的,支持C/C++語(yǔ)法
- C/C++ Snippets:C/C++重用代碼塊
- C/C++ Advanced Lint:C/C++靜態(tài)檢測(cè)
- Include AutoComplete:自動(dòng)頭文件包含
- Rainbow Brackets:彩虹花括號(hào),有助于閱讀代碼
- Arm Assembly:支持 ARM 匯編語(yǔ)法高亮顯示
- vscode-icons:VSCode 圖標(biāo)插件,主要是資源管理器下各個(gè)文件夾的圖標(biāo)
- DeviceTree:設(shè)備樹(shù)語(yǔ)法插件
- TabNine:一款 AI 自動(dòng)補(bǔ)插件
到了這里,關(guān)于【VSCode】VScode 配置 Linux 驅(qū)動(dòng)環(huán)境(簡(jiǎn)單版)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!