helloworld驅動程式

2021-06-05 23:58:22 字數 1139 閱讀 1919

mkdir   /opt/embedsky/modules

cd modules

mkdir hello

cd hello

vim hello.c 

hello 驅動**如下:

hello.c qudong

duopin:2012.4.22

********************/

#include

#include

module_license("gpl");  

static int hello_init(void)  

static void hello_exit(void)  

module_init(hello_init);  

module_exit(hello_exit);  

vi makefile   // notice :一定要是m大寫

kerneldir=/opt/embedsky/linux-2.6.30.4     ####point kernel tree

pwd:=$(shell pwd)     

installdir=$(pwd)      

cc=arm-linux-gcc    

obj-m := hello.o               # the same to hello.c name 

modules:     

$(make) -c $(kerneldir) m=$(pwd) modules  # use tab

clean:     

rm -rf *.o *.ko *.mod.c *.markers *.order *.symvers      # use tab

.phony:modules clean  

生成.ko

make 

cp hello.ko    /opt/embedsky/nfs_root/lib/  

//boot system 8

cd /lib/

insmod hello.ko

rmmod hello  //.ko

cat /proc/devices 

ls /dev/

ps:要寫和硬體的驅動,可能還是加上標頭檔案   eg:tq2440_adc.h

linux 驅動程式的hello world

首先,確保linux核心原始碼放在 usr src下面,安裝好編譯器,接下來就是程式設計師 具體如下 ifndef kernel define kernel endif ifndef module define module endif include include module license ...

編寫乙個helloworld的驅動程式到核心

編寫乙個最簡單的驅動程式到核心,有兩種方式 1.直接修改makefile 2.修改kconfig,提供可選選單 有如下的helloworld.c的驅動程式 include include static int helloworld init void static void helloworld e...

linux 驅動程式 高階字元驅動程式

ioctl方法 驅動程式的原型實現 int ioctl struct inode inode,struct file filp,unsigned int cmd,unsigned long arg ioctl 命令選擇 位段結構 number direction ioc read ioc write...