在windows通過(guò)VS Code開(kāi)發(fā)Linux內(nèi)核驅(qū)動(dòng)程序
最近在看Linux設(shè)備驅(qū)動(dòng)程序第三版,為了在windows系統(tǒng)上練手操作,先是下載VMware Workstation安裝了Linux系統(tǒng)虛擬機(jī)。然后在vscode上編寫(xiě)簡(jiǎn)單的示例程序,通過(guò)ftp把源文件發(fā)送到Linux虛擬機(jī)后,再在虛擬機(jī)上make編譯測(cè)試內(nèi)核驅(qū)動(dòng)程序。這樣即使是在內(nèi)核日志中打印個(gè)簡(jiǎn)單的hello world也需要復(fù)雜的過(guò)程,并且沒(méi)有代碼提示。
配置 VS Code
安裝 VS Code 擴(kuò)展插件
點(diǎn)擊VS Code左邊欄的擴(kuò)展按鈕,搜索并安裝 C/C++ 和 Remote - SSH 這兩個(gè)擴(kuò)展插件,其他可根據(jù)自己喜好添加。
- Remote - SSH
- C/C++
配置SSH
安裝Remote - SSH插件后左邊就會(huì)增加一個(gè)“遠(yuǎn)程資源管理器”按鈕,進(jìn)入后點(diǎn)擊加號(hào)。
點(diǎn)擊加號(hào)后會(huì)在頂部彈出輸入框。
輸入ssh命令,比如:ssh root@192.168.106.128
“@”后面的IP是Linux虛擬機(jī)的IP地址,可以通過(guò)ifconfig命令查看。
添加好SSH遠(yuǎn)程主機(jī)后,點(diǎn)擊右邊的按鈕。
在新窗口中輸入用戶密碼
連接成功后點(diǎn)擊左邊的資源管理器,再點(diǎn)擊“打開(kāi)文件夾”,選擇打開(kāi)Linux虛擬機(jī)中的代碼文件夾。
完成上面的步驟后就可以通過(guò)vscode直接在Linux虛擬機(jī)中的編寫(xiě)代碼了,不需要再通過(guò)ftp將寫(xiě)好的源文件發(fā)到虛擬機(jī)上。
但是現(xiàn)在的VS Code仍無(wú)法關(guān)聯(lián)到內(nèi)核的頭文件,需要再配置一下C/C++插件。
C/C++ 擴(kuò)展插件配置
點(diǎn)擊右下角的C/C++配置,或者直接按ctrl+shift+P搜索"C/C++",打開(kāi)UI設(shè)置或者JSON設(shè)置
在包含路徑(include path)中添加路徑(UI設(shè)置)
/usr/src/kernels/3.10.0-1160.el7.x86_64/include/**
/usr/src/kernels/3.10.0-1160.el7.x86_64/arch/x86/include/**
/usr/src/kernels/3.10.0-1160.el7.x86_64/drivers/**
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/**
/usr/include/**
${workspaceFolder}/**
主要添加前面三個(gè)路徑:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-460760.html
- /usr/src/kernels/$(內(nèi)核版本號(hào))/include/**
- /usr/src/kernels/$(內(nèi)核版本號(hào))/arch/x86/include/**
- /usr/src/kernels/$(內(nèi)核版本號(hào))/drivers/**
內(nèi)核版本號(hào)通過(guò) “uname -r” 查看
添加 include path 后VS Code還是會(huì)出現(xiàn)“未定義標(biāo)識(shí)符”的紅波浪警告,目前的解決方法是將 compilerPath 改成空字符串 “”。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-460760.html
到了這里,關(guān)于在windows通過(guò)VS Code開(kāi)發(fā)Linux內(nèi)核驅(qū)動(dòng)程序的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!