首页 > 系统服务 > 详细

Linux基础驱动开发

时间:2019-09-15 22:21:11      阅读:98      评论:0      收藏:0      [点我收藏+]

开始:
1、要在自己的Linux源码中创建自己的模块文件。
在drivers下创建自己的文件名为myled。
然后创建myleds.c文件,编写源码

2、Makefile和Kconfig的设置

在myleds目录下添加Makefile和Kconfig这两个文件

Kconfi:

技术分享图片

 

 还有Makefile:

  obj-$(CONFIG_TEST_USER) += myleds.o

需要在上层目录的drivers目录下修改Makefile和Kconfig
在Makefile中添加:obj-$(CONFIG_TEST_SUPPORT) += myled/
在Kconfig中添加:source “drivers/myled/Kconfig”

3、编译内核模块:使用make modules命令

在Linux源码的第一级目录下 make menuconfig设置myled模块为编译模块禁止编译进内核。然后使用make modules
在myleds目录下会生成myleds.ko文件

4、开发板测试

将文件下载到开发板。
先使用mknod 文件目录 模块类型 主设备号 此设备号, 添加设备
mknod /dev/myled c 253 1 这个设备号是个前面的cdev_init()使用的设备号一致//这里为创建一个设备文件节点,让顶层的应用程序访问,可以使用ioctl发送命令,执行动作
使用insmod myleds.ko加载模块,lsmod myleds 查看模块,rmmod myleds卸载模块,modprode myleds是否加载

Linux基础驱动开发

原文:https://www.cnblogs.com/yangjiquan/p/11524352.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!