學習嵌入式linux必須能把自己的驅動模組編譯進核心。它其實很簡單,只需要改寫兩個檔案就ok了,他們是:kconfig和makefile.
例如我寫了乙個led的驅動程式:
lanpeng@lanpeng-desktop:~/led$ ls
led.c makefile
lanpeng@lanpeng-desktop:~/led$ cat makefile
obj-$(config_led_lan) += led.o
lanpeng@lanpeng-desktop:~/led$ cd ..
lanpeng@lanpeng-desktop:~$ cp -fr led linux-2.6.27/drivers/char/
以上是將自己寫的led驅動程式放到核心源**的字元裝置目錄下(當然也可以放到其他裝置目錄下).
下面到關鍵部分了:
lanpeng@lanpeng-desktop:~/../drivers/char$ ls led/
led.c makefile
在linux-2.6.27/drivers/char/目錄下,我們要修改kconfig檔案。它在我們make menuconfig時會顯示出我們要編譯的裝置檔案。
開啟kconfig,在第二行新增如下資訊:
config led
bool "lan peng's led"
default y
help
lanpeng's led:echo '0'>/dev/cled,it will liang.echo '1'>/dev/cled,it will mie.
儲存退出即可。
還在此目錄下開啟makefile,新增如下行:
obj-$(config_led_lan) += led/
儲存退出即可。
make menuconfig一下,進入device drivers,在這個選項下,進入
charater devices,在這下面就可以看到我們的驅動模組了:
[*]lan peng's led 0
給主人留下些什麼吧!~~
核心編譯 模組編譯
目前是嵌入式 linux 的初學者感覺有所體會 1.從demo 學起 tiny 6410 上的開發,我的任務不斷是新增小模組。交叉編譯器,以及其它一系列 tool chains 可直使用產商提供的工具。避免過多細節的好處在於,你可以從整體處著手你從書本學到的理論知識。2.kernel 編譯其它很簡單...
核心模組的編譯
編譯核心模組的方法與編譯一般應用程式的方法略有不同.我們會發現在核心原始碼樹的層層目錄中,都存在有makefile.即這些makefile是分層次組織的.以往的核心版本中,編譯模組比較麻煩,需要我們對這些makefile做出許多更改.2.6的核心採用了 kbuild 編譯系統,簡化了這些問題.編譯之...
核心模組編譯
第一步,編寫模組 include include module license gpl 許可許可權證明,gpl開源的協議 module author embedsky 作者 module description hello world module 描述 static int hello init ...