原創 ARM Linux模組編譯與載入

2021-08-28 12:42:02 字數 1289 閱讀 4476

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...