在
linux
下載入乙個簡單的模組方法以及步驟:
執行環境:
linux-2.6.12
編譯環境:
arm-linux-gcc(3.4.1)
執行平台:
s3c2440
1.編寫模組程式m
odule.c
#include
#include
#include
static int hello_init(void)
static void hello_exit(void)
module_init(hello_init);
module_exit(hello_exit);
module_license("gpl");
2.編寫
makefile
obj-m += m
odule
.okdir:=/home/smallbox/hyh24x0_2.6.12/
pwd=$(shell pwd)
all:
make -c $(kdir) m=$(pwd) modules
clean:
rm -rf *.o
注意:"make
前面要空乙個
"tab"
kdir
為核心的路徑,這個核心要與
s3c2440
執行的核心相同(編譯器也要相同的,要不執行不了)。
/home/smallbox/hyh24x0_2.6.12/
是arm-linux
下的核心
3.編譯
在linux
下執行:
make
/*注釋:
/usr/local/arm/3.4.1/bin/arm-linux-gcc
為交叉編譯環境的路徑
*/ 生成
module
.ko
4.執行 ①
將module
.kos3c2440
的板子上
②執行:
chmod +x m
odule
.ko修改模組的屬性將其設為可執行檔案
③執行:
insmod m
odule
.ko
hello, smallbox! this is the first test module!
執行:rmmod m
odule
.ko
small.box bye bye!
編譯arm linux核心
這一次寫一下編譯 arm核心以及根檔案系統的體驗,我使用的是 linux 2.6.30.4 的核心,通過 第一步 解壓原始檔 tar jxvf linux 2.6.30.4.tar.bz2 c opt 下。第二步 更改主目錄下 makefile 檔案,使其支援 arm架構。在 193行的 arch ...
ARM Linux 交叉編譯
編譯選項 i 指定標頭檔案的目錄 預設的頭檔案目錄是工具鏈裡的include目錄 預設的庫檔案目錄是工具鏈裡的lib 目錄 檔案最多的lib目錄 lib usr lib usr local lib l l 指定使用哪乙個so動態庫 ljpeg 使用libjpeg.so這個動態庫 預設標頭檔案木 us...
arm linux交叉編譯環境
patch p1 patch 2.4.19 rmk7 6 修改makefile 將 arch arm 7 make menuconfig 配置 核心 8 system type 中選擇 clps711x ep721x based arm system type clps711x ep721x bas...