ドライバ


クロスコンパイル Makefile

KERNEL_SRC = /home/hoge/Fedora/FC15
BUILD_DIR := $(shell pwd)

MODULE_OBJS = hoge1.o hoge2.o hoge3.o

obj-m := hoge.o
hoge-objs := $(MODULE_OBJS)

CROSS_COMPILE =  /home/hoge/build/FC15/export/sysroot/hogehoge-glibc_std/arm-linux/hoge-linux-gnu-glibc_std-

ARCH = arm
MAKEARCH = $(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE)

all:
        $(MAKEARCH) -C $(KERNEL_SRC) SUBDIRS=$(BUILD_DIR) modules

clean:
        rm -f *.o
        rm -f *.ko
        rm -f *.mod.c
        rm -f Module.markers Module.symvers modules.order

obj-m, obj-y

obj-mは、ローダブルモジュール(.ko)を作成する場合です。insmod コマンドでロードする場合です。

obj-yは、カーネル起動時にロードする場合です。zImageやuImageに含める場合です。

カーネルモジュール組み込み

メジャー番号確認

cat /proc/devices

モジュールインストール

insmod hoge.ko

デバイスノード作成

mknod /dev/hoge c 258 0

最新の20件

2021-03-31 2020-06-09 2020-05-30 2019-12-02 2018-10-18 2018-07-05 2018-01-11 2015-12-07 2015-08-03 2015-07-20 2012-07-19 2012-06-30 2012-06-23 2012-01-25 2011-11-09
  • ドライバ
2011-11-08 2011-10-02

今日の2件

  • counter: 66
  • today: 1
  • yesterday: 0
  • online: 1