將自己的模組編譯進入核心

2021-06-22 09:09:46 字數 1053 閱讀 5895

學習嵌入式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 ...