1. 程式人生 > 實用技巧 >編寫第一個linux驅動

編寫第一個linux驅動

一、準備工作

  1、《linux裝置驅動程式》的hello world模組示例(Page22)

  2、linux核心原始碼目錄:BSP/A7/kernel/A7-linux-src-4.14/

  3、交叉編譯器目錄:/usr/local/arm/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin

  4、驅動原始碼目錄:BSP/fdriver/first_drv

二、驅動原始碼

  first_drv.c

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

MODULE_LICENSE("
Dual BSD/GPL"); static int hello_init(void) { printk(KERN_ALERT "Hello, world!\n"); return 0; } static void hello_exit(void) { printk(KERN_ALERT "Goodby, cruel world\n"); } module_init(hello_init); module_exit(hello_exit);

三、Makefile

ARCH:=arm
PLATFORM?=A7

CROSS_COMPILE:=arm-linux-gnueabihf-

export ARCH CROSS_COMPILE

PWD
=$(shell pwd) KERNEL_SRC=$(PWD)/../../A7/kernel/A7-linux-src-4.14 obj-m:=first_drv.o all: $(MAKE) -C $(KERNEL_SRC) M=$(PWD) modules clean: rm -rf *.ko rm -rf *.o

四、執行截圖