这是学习嵌入式linux的第一步,在linux内核中加载驱动。从今天早上开始到现在,才从各种坑坑洼洼的编译环境中解决问题,查阅了大量资料跟文档,临近12点献上简书一封。从查到的资料中分析,Linux内核针对驱动的处理方式有两种,第一种是把所有需要功能全部重新编译,另一种是动态添加模块,在这里学习的是第二种方式——动态添加驱动模块
模块编译流程图:

1.相关mini_linux_module.c代码如下:

2.制作并编译Makefile
由流程图可以知道,linux模块的编译需要我们编写脚本文件Makefile将C文件转换成为xxx.ko模块文件

保存之后,进入到Makefile与mini_linux_module.c文件所在的文件夹中,采用make语句,生成mini_linux_module.ko文件
3.在开发板上烧写相关Linux最小镜像
4.在开发板上加载U盘挂盘符,并加载驱动文件

在挂载中,需要查看超级终端,查看U盘挂载在哪一个分区,减少无用功


备注:lsmod指令可以查看当前系统中是否有驱动加载
网友评论