2018年8月13日
摘要: 在Linux驱动之LED驱动编写已经详细介绍了一个驱动的编写过程,接着来写一个按键驱动程序,主要是在file_operations结构中添加了一个read函数。还是分以下几步说明 1、查看原理图,确定需要控制的IO端口 2、查看芯片手册,确定IO端口的寄存器地址 3、编写驱动代码 4、确定应用程序功 阅读全文
posted @ 2018-08-13 20:58 andy_fly 阅读(3927) 评论(0) 推荐(0)
摘要: 从上到下,一个软件系统可以分为:应用程序、操作系统(内核)、驱动程序。结构图如下:我们需要做的就是写出open、read、write等驱动层的函数。一个LED驱动的步骤如下: 1、查看原理图,确定需要控制的IO端口 2、查看芯片手册,确定IO端口的寄存器地址 3、编写驱动代码 4、确定应用程序功能, 阅读全文
posted @ 2018-08-13 20:47 andy_fly 阅读(10800) 评论(0) 推荐(1)
摘要: 目标:在开发板上执行insmod hello.ko能在控制台打印出hello init;接着执行rmmod会在控制台打印出hello exit 建立一个hello模块的步骤如下: 1、建立一个hello.c文件,敲入一下代码 2、建立一个Makefile,填入如下代码,其中KERN_DIR为需要装载 阅读全文
posted @ 2018-08-13 11:30 andy_fly 阅读(559) 评论(0) 推荐(0)
摘要: Linux内核支持动态的加载模块运行:比如insmod first_drv.ko,这样就可以将模块加载到内核所在空间供应用程序调用。现在简单描述下insmod first_drv.ko的过程 1、insmod也是一个用户进程 2、insmod进程从命令行中读取要链接的模块名字:first_drv.k 阅读全文
posted @ 2018-08-13 10:55 andy_fly 阅读(2429) 评论(0) 推荐(0)