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