实验八 嵌入式Linu备驱动编程实验八 嵌入式Linux设备驱动编程.pdfVIP

  • 84
  • 0
  • 约9.98千字
  • 约 9页
  • 2017-04-23 发布于贵州
  • 举报

实验八 嵌入式Linu备驱动编程实验八 嵌入式Linux设备驱动编程.pdf

实验八 嵌入式Linu备驱动编程实验八 嵌入式Linux设备驱动编程.pdf

实验八 嵌入式 Linux 设备驱动编程 【实验目的】 ? 学习中断的相关知识 ? 学习驱动程序的编写,驱动程序的加载和使用 ? 掌握 GPIO 驱动和中断驱动的编写方法 【实验学时】 建议 4 学时 【实验内容】 ? 掌握设备驱动程序的基本编写方法,学习基本的字符设备驱动程序的设计方法。 ? 掌握中断的知识,学习在 linux 下写针对 S3C2440 的 LED 驱动程序。 【实验原理】 UP-CUP2440 开发平台设置了 3 个 GPIO 控制的 LED,和 1 个可直接产生外部硬件中断 的按键。LED 分别使用 S3C2410/S3C2440 的 GPC5,GPC6,GPC7(PXA270 的 GPIO0, GPIO1,GPIO52)三个 GPIO,按键接到 INT5 中断(PXA270 的 GPIO97) 【实验要求】 调试验证程序,并提交实验报告。 【实验步骤】 1、helloworld 设备驱动程序的编写 使用如下步骤生成目录 7-1-driver-hello 中所给的 hello world 驱动程序。 (1)先检查一下系统的内核版本和内核头文件版本是一致,实验用 Fedora,内核 是 2.6.27.5-117.fc10.i686 分别在终端中输入命令,得到内核版本 [root@PCForARM ~]# uname -r 2.6.27.5-117.fc10.i686 [root@PCForARM ~]# ls /usr/src/kernels/ 2.6.27.5-117.fc10.i686 如果内核版本和内核头文件版本不一致,则在 insmod 一步会出现错误 (2)编写 hellodriver.c 文件 在目录下建一个 hellodriver 目录(文件夹),新建 hellodriver.c 文件,输入以下内容: #include /usr/src/kernels/2.6.27.5-117.fc10.i686/include/linux/init.h #include /usr/src/kernels/2.6.27.5-117.fc10.i686/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 Goodbye, cruel world\n); } module_init(hello_init); module_exit(hello_exit); (3)编写 Makefile 在/home/smbshare/7-1-driver-hello/下新建 Makefile 文件,输入下面内容: KERNELDIR= /lib/modules/2.6.27.5-117.fc10.i686/build PWD:=$(shell pwd) INSTALLDIR=/home/smbshare/7-1-dri

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档