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

模块编译流程图:

8fe060361fdf?from=singlemessage

动态添加模块渠道

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

8fe060361fdf?from=singlemessage

mini_linux_module.c

2.制作并编译Makefile

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

8fe060361fdf?from=singlemessage

Makefile文件

保存之后,进入到Makefile与mini_linux_module.c文件所在的文件夹中,采用make语句,生成mini_linux_module.ko文件

3.在开发板上烧写相关Linux最小镜像

4.在开发板上加载U盘挂盘符,并加载驱动文件

8fe060361fdf?from=singlemessage

加载U盘

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

8fe060361fdf?from=singlemessage

加载驱动模块

8fe060361fdf?from=singlemessage

卸载驱动模块

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

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐