1. 程式人生 > >Eclipse 搭建 Linux 核心驅動程式開發環境

Eclipse 搭建 Linux 核心驅動程式開發環境

1、開發工具 eclipse arm-linux-gcc交叉工具鏈、對應開發板的Linux 核心原始碼。

2、安裝開發工具,並將核心原始碼包解壓到指定路徑中,並編譯。 eg:/usr/local/arm/linux_E9_3.0.35_for_Linux

3、利用eclipse新建一個C ProjectEmpty Project


然後一路預設next 到新增交叉編譯器路徑。


設定好之後點選完成。

4、工程建好之後,在其工程上右鍵properties---->C/C++ General--->Paths and Symbols.


5、在有右下角選擇Export Settings.


匯出路徑自定義。

6、將編譯好的核心中

autoconf.h中的巨集定義加入到Eclipse中步驟為:進入到我的核心generated目錄中cd /usr/local/arm/linux_E9_3.0.35_for_Linux/include/generated

在此目錄下執行命令:cat autoconf.h |grep define |awk ‘{print “<macro><name>” $2 “</name><value>” $3 “</value></macro>”}’ > symbol.xml 成功執行該命令後,在generated下會多一個symbol.xml檔案。

7、將這個檔案與之前匯出的.xml檔案開啟


開啟檔案後在之前匯出的檔案中需要新增一行程式碼,在這兩行之間(如果有兩個則在下面的那個裡面新增)

<language name="C Source File">和 </language>之間新增命令:<macro><name>__KERNEL__</name><value>1</value></macro>

新增後在將開啟的symbol.xml中的內容全部複製到之前新增的程式碼的下方。

 

在第一個<language name="C Source File">和 </language>之間新增命令:(該命令可根據實際修改)

<includepath>/usr/local/arm/linux_E9_3.0.35_for_Linux/include</includepath>

<includepath>/usr/local/arm/linux_E9_3.0.35_for_Linux/arch/arm/include</includepath>

<includepath>/usr/local/arm/linux_E9_3.0.35_for_Linux/arch/arm/mach-mx6</includepath>

<includepath>/usr/local/arm/linux_E9_3.0.35_for_Linux/arch/arm/plat-samsung/include</includepath>

 

儲存退出。

8、在開啟eclipse的那個位置將其匯入。

 

9、在工程中新增C原始檔。

  

先忽略編譯器的警告資訊。將工程屬性中自動生成Makefile選項去掉


 10、在工程中新增Makefile原始檔(注意名稱一定為Makefile

 

(makefile檔案中不能隨意敲入空格和TAB)MakefileARMKDIR後跟隨路徑為ARM板中系統核心存放路徑,若寫x86_64KDIR後面跟隨的路徑為當前電腦系統執行的核心路徑: /lib/modules/3.10.0-514.16.1.el7.x86_64/build

11、因為工程中取消了自動生成makefile所以我們在工程下面新建Debug目錄,並將.C檔案和Makefile檔案放到該目錄中。

 

 12、儲存編譯

 

13、.ko 檔案通過nfs下載到ARM測試