1.準備工作
首先得安裝好gcc工具鏈,以及開發環境,可以看看我的前面的幾步。
還得編譯好核心,一般開發板都帶了,現在我還不知道配置核心,只能按照開發板預設的去編譯,編譯前需要先編譯uboot,建議像我一樣的新手先學會驅動編寫,慢慢的去學習 核心的配置裁剪,我覺得到時候這個肯定是非常簡單的過程,只不過沒有找到門道而已,等我會了一定和大家分享,如果有會的可以教我一下,在下感激不盡。
我的嵌入式核心編譯的路徑為:/home/cfan/linux/linux-3.0.1/ ,這個待會會用到的。
今天我就教大家使用eclipse開發一個最簡單的驅動程式,LED驅動,其實使用eclipse編譯這種簡單的驅動可能顯得有點麻煩,如果是大工程我想整合式開發環境的優勢就會體現出來了,還有就是eclipse的編輯器介面比較友好,跟RVDS4.0一樣。
2.建立驅動工程,設定eclipse
開啟eclipse
可以在案頭上面建立一個指向eclipse的快速鍵,或者到eclipse的目錄執行 ./eclipse 即可啟動,我設定了eclipse的全域變數,因此只需要在終端中輸入eclipse即可啟動,如下圖
建議將工程目錄選擇在NFS共用的那個目錄,這樣方便從開發板載入驅動或者執行程式,我的就選擇在nfs6410這個共用目錄裡面。
建立一個C項目,空項目
一直下一步,直到下圖位置,填好自己的arm-linux-gcc的路徑。
設定完成後點擊完成。
到這一步建立工程完成了,此時還有重要的一部要做,先別急著添加.c檔案。在工程上面右鍵,屬性,到 C/C++常規---->Code Analysis---->路徑和符號
點擊下方ExportSettings,將設定匯出為xml檔案.我的道出到案頭上面了,這個大家隨意
點擊確定 應用 退出即可。
到你剛才儲存的位置處開啟那個.xml檔案,用文字編輯器開啟即可,我的在案頭上面,按右鍵,使用文字編輯器開啟
現在我們還需要將autoconf.h中的宏定義加入到Eclipse中,執行如下步驟
開啟核心的這個目錄 include/generated/ 這個按個人實際情況而定,我的是 cd /home/cfan/linux/linux-3.0.1/include/generated/ ,另外開啟一個終端 cd到這個目錄
在剛剛這個終端中執行
[cpp] view plain copy cat autoconf.h |grep define |awk '{print "<macro><name>" $2 "</name><value>" $3 "</value></macro>"}' > symbol.xml
此時開啟這個目錄/home/cfan/linux/linux-3.0.1/include/generated,會多了一個檔案
將 symbol.xml這個檔案用文字編輯器開啟
此時文字編輯器裡面開啟了兩個xml檔案了,將之前置出eclipse的那個xml檔案開啟,需要添加一行代碼,在這兩行代碼之間(如果有兩個,是下面的那個)
[html] view plain copy <language name="C 源檔案"> </language> 添加
[html] view plain copy <macro><name>__KERNEL__</name><value>1</value></macro>
如下圖
添加後
再將剛剛那個symbol.xml檔案裡面的所有代碼複製到
[html] view plain copy <macro><name>__KERNEL__</name><value>1</value></macro> 這行的下一行,如下圖
在上面的一個