Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> Linux 2.6.12カーネルはシンプルなモジュールをロードします

Linux 2.6.12カーネルはシンプルなモジュールをロードします

  

ランタイム環境:linux-2.6.12

コンパイル環境:arm-linux-gcc(3.4.1)

プラットフォームを実行:AT91RM9200


まず、モジュールプログラムtestmodule.cを書きます。


#include< linux /init.h>
#include< linux /Kernel.h>
#include< linux /module.h>

static int hello_init(void)
{
printk( "こんにちは。これが最初のテストモジュールです。\\ n "); return 0; static void hello_exit(void){printk(" Module exit!Bye Bye!\\ n ");
return;
}

module_init(hello_init);
module_exit(hello_exit);

MODULE_LICENSE( "GPL");
ログイン


IIはMakefileを調製


obj-m:= testmodule.o
KDIR:= /src/linux-2.6.12
PWD:= $(shell pwd)
デフォルト:
$(MAKE)-C $(KDIR)SUBDIRS = $(PWD)モジュール
################################### ###########################################################################。 Br>

KDIRはカーネルのパスです。このカーネルはAT91RM9200を使うべきです最初とkernel行(も同じコンパイラ、または動作していません)。


3、コンパイル

linuxで実行する:make CC = /src /3.4.1 /bin /arm-linux-gcc

/*注意: /src/3.4.1/bin/arm-linux-gccクロスコンパイル環境のパス* /

testmodule.koを生成します。


IV、実行します。

1.シリアルポートまたはネットワークポートを介してtestmodule.koをAT91RM9200のボードにダウンロードします。


2.実行:chmod + x testmodule.koモジュールのプロパティを実行可能ファイルに変更します。


3、実行:insmod testmodule.ko

こんにちは!これが最初のテストモジュールです!

実行:rmmod testmodule.ko

モジュール終了!さようなら!

Copyright © Windowsの知識 All Rights Reserved