编写一个Buildroot 内核驱动

编写一个Buildroot 内核驱动

PS:内核驱动只能在/kernel/drivers/目录下

image-20260117082757215

Makefile文件的编写

主要注意Makefile文件的编写(路径,包含)

在该路径下先新建一个用户内核驱动文件夹,用于存放用户编写的驱动

user_rk3566_-kernel-driver

进入该文件夹,新建一个02序号用户驱动文件夹,用于存放02驱动

02_kernel_helloworld

编写kernel/drivers/user_rk3566_-kernel-driver/02_kernel_helloworld路径下的Makefile(添加驱动源文件02_kernel_helloworld.c进编译)

vim Makefile

Makefile:

#obj-y :内核驱动
#obj-m :模块驱动
obj-y += 02_hello_world.o

返回到kernel/drivers/user_rk3566_-kernel-driver路径,添加Makefile(添加驱动源文件的文件夹02_kernel_helloworld/进编译)

Makefile:

#添加驱动文件所在文件夹进编译,需要带“/”符号,表示目录(文件夹)
obj-y += 02_kernel_helloworld/

返回到kernel/drivers路径,添加Makefile(添加驱动源文件的文件夹user_rk3566_-kernel-driver/进编译)

Makefile:

obj-y +=/user_rk3566_-kernel-driver/

随便找个地方,把文件夹路径丢进去

image-20260118171936747

OK,由于SDK路径的Makefile文件已经将kernel/drivers路径添加,我们就不需要自己手动添加

以上就是所需要添加的Makefile文件。

主要目的是告诉make工具在kernel/drivers/user_rk3566_-kernel-driver/02_kernel_helloworld路径下是我们的驱动源代码02_kernel_helloworld.c,需要添加进编译

驱动文件编写

进入该02_kernel_helloworld,开始驱动编写

vim 02_hello_world.c 

02_hello_world.c

#include <linux/module.h>     /* 模块相关宏和函数 */
#include <linux/kernel.h>     /* printk日志函数 *//* 加载函数(驱动入口),当驱动被 insmod 加载时自动执行 */
static int __init helloworld_init(void)
{printk("02_helloworld_init\r\n"); // 内核日志打印return 0; // 返回0代表加载成功
}/* 卸载函数(驱动出口),当驱动被 rmmod 卸载时自动执行 */
static void __exit helloworld_exit(void)
{printk("02_helloworld_exit\r\n");
}/* 下面这两行,告诉内核入口和出口分别是哪两个函数 */
module_init(helloworld_init);
module_exit(helloworld_exit);/* 这3个是模块信息声明 */
MODULE_LICENSE("GPL v2");               /* 模块许可证 */

编译

我们需要返回到kernel内核文件夹的上一个路径

在我这是SDK/,这里包含了编译脚本,须在这里运行编译命令

./build.sh kernel

image-20260118172404378

编译成功

image-20260118172442489

返回源代码路径查看编译文件(可选)

image-20260118163216910

可以看到,内核驱动编译后,不会像模块驱动那样生成.ko文件

实际,驱动相关的内容已经编译进内核镜像中(root.img)

image-20260118172723586

运行

将该镜像烧录,等板子运行后查看日志

dmesg | grep -E hello

image-20260118173111518

可以看到驱动上电后自动运行,这就是和模块驱动的一个显著区别,不需要手动挂载

修改完后,git提交一下代码更改(可选)

git add .
git commit -m"修改说明"
git pull
git push

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1178924.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于深度学习的冰箱内食物检测系统(YOLOv10+YOLO数据集+UI界面+模型)

一、项目介绍 YOLOv10冰箱内部成分检测系统 是一个基于YOLOv10&#xff08;You Only Look Once version 10&#xff09;目标检测算法的智能系统&#xff0c;专门用于检测和识别冰箱内部的多种食物成分。该系统能够自动识别冰箱中的30种常见食物&#xff0c;包括水果、蔬菜、肉…

AI产品经理思维框架:从技术小白到商业落地的实战指南

文章提出了AI产品经理必备的六大思维能力框架&#xff1a;技术理解力、场景洞察力、数据思维、体验设计力、商业思维和伦理风险意识。强调AI产品经理不仅需要了解AI技术&#xff0c;更需要找到技术与商业的平衡点&#xff0c;将AI技术转化为解决用户问题、创造商业价值的产品。…

大模型技术全景图:从理论到应用,一篇全掌握!建议收藏

本文系统梳理了大模型技术框架&#xff0c;从神经网络基础到实际应用。大模型通过预训练实现智能&#xff0c;但存在知识更新慢和领域适应性差的问题&#xff0c;可通过RAG技术、微调和提示词工程解决。智能体Agent将大模型与外部工具结合实现复杂任务处理。学习大模型需系统性…

基于深度学习的苹果腐烂检测系统(YOLOv10+YOLO数据集+UI界面+模型)

一、项目介绍 基于深度学习的苹果腐烂检测系统 是一个专注于检测苹果腐烂状态的智能系统&#xff0c;采用先进的深度学习技术&#xff08;如YOLOv10或其他目标检测算法&#xff09;实现高精度检测。该系统能够自动识别并定位腐烂的苹果&#xff08;damaged_apple&#xff09;&a…

课程论文别再凑字数!宏智树 AI 教你高效写出高分范文

作为深耕论文写作科普的教育博主&#xff0c;后台每天都能收到大学生的吐槽&#xff1a;“课程论文到底怎么写&#xff1f;凑够字数就被导师批没逻辑”“找文献花三天&#xff0c;写论文两小时&#xff0c;结果分数惨不忍睹”“格式改了八遍&#xff0c;还是不符合学术规范”。…

哈希表解决两数之和

核心代码如下: class Solution { public: vector twoSum(vector& nums, int target) { unordered_map<int, int> hashTable; for (int i = 0; i < nums.size(); ++i) { //先查询哈希表中是否存在 目标差…

传统产品经理转型AI PM的完整指南,非常详细收藏我这一篇就够了

传统产品经理转型AI PM指南&#xff1a;强调理解AI能力而非编写代码。文章从认知重塑、技能树重构到实战路径三方面展开&#xff0c;通过小红书文案生成器案例&#xff0c;展示从基础Prompt到Few-Shot和RAG思维的进阶过程&#xff0c;提供低代码构建Demo方法&#xff0c;帮助快…

还在手动拼问卷?宏智树 AI:一键搞定实证研究的 “黄金调研工具”

作为深耕论文写作科普的教育博主&#xff0c;后台每天都被粉丝的问卷难题刷屏&#xff1a;“翻遍文献凑量表&#xff0c;设计的问卷却被导师说‘逻辑不通’”“回收的问卷数据一半无效&#xff0c;根本没法用于分析”“好不容易做完调研&#xff0c;却不知道怎么把数据转化为论…

基于深度学习的树上苹果检测系统(YOLOv10+YOLO数据集+UI界面+模型)

一、项目介绍 YOLOv10树上苹果检测系统 是一个基于YOLOv10&#xff08;You Only Look Once version 10&#xff09;目标检测算法的智能系统&#xff0c;专门用于检测树上的苹果。该系统能够自动识别并定位树上的苹果&#xff08;Apples&#xff09;&#xff0c;适用于果园管理、…

基于深度学习的奶牛行为检测系统(YOLOv10+YOLO数据集+UI界面+模型)

一、项目介绍 YOLOv10奶牛行为检测系统 是一个基于YOLOv10&#xff08;You Only Look Once version 10&#xff09;目标检测算法的智能系统&#xff0c;专门用于检测奶牛的行为状态。该系统能够自动识别并分类奶牛的三种主要行为&#xff1a;站立、行走 和 卧倒。通过该系统&a…

数据不会说话?宏智树 AI:论文数据分析的 “智能翻译官”

手握几百份问卷数据、一堆实验记录&#xff0c;却不知道怎么挖掘价值&#xff1f;对着 SPSS、R 语言的教程一脸懵&#xff0c;好不容易算出结果&#xff0c;却写不出一句能支撑论文论点的分析&#xff1f;作为深耕论文写作科普的教育博主&#xff0c;后台收到最多的求助&#x…

DeepSeek V4 vs Kimi K3:国产AI大模型技术对决,谁将引领春节前的新爆发?

文章深度对比了中国两大AI大模型DeepSeek和Kimi即将推出的V4和K3版本。DeepSeek通过Engram技术优化模型架构&#xff0c;将75%资源用于推理&#xff0c;25%用于记忆&#xff0c;显著提升效率&#xff1b;Kimi则采用Kimi Linear架构挑战Transformer计算瓶颈。DeepSeek在编程和性…

ROS1 noetic 中将 Unitree G1 基于 Gazebo/RViz 关节联动【基于 ros_control】

博客地址:https://www.cnblogs.com/zylyehuo/Unitree G1 模型文件下载地址(挑选自己需要的部分,本教程基于 g1_29dof.urdf (以及 .xml 和 meshes 文件夹))有核心的 URDF 文件和 Meshes (STL 网格文件)为 Gazebo 中模…

AI 写论文哪个软件最好?实测揭秘!宏智树 AI 凭 “真研究” 实力领跑

作为深耕论文写作科普的教育测评博主&#xff0c;后台每天都被 “AI 写论文哪个软件最好” 的提问刷屏。市面上的论文工具五花八门&#xff0c;有的是 “文字拼接机”&#xff0c;生成内容空洞无物&#xff1b;有的是 “文献造假犯”&#xff0c;引用的文献查无实证&#xff1b…

基于深度学习的食物检测系统(YOLOv10+YOLO数据集+UI界面+模型)

一、项目介绍 YOLOv10过敏原食品检测系统 是一个基于YOLOv10&#xff08;You Only Look Once version 10&#xff09;目标检测算法的智能系统&#xff0c;专门用于检测和识别含有常见过敏原的食品。该系统能够自动识别30种常见过敏原食品&#xff0c;包括坚果、乳制品、蛋类、特…

零基础也能入门:AI产品经理高薪职业发展路径全解析,三步成为AI产品经理

文章分析了2025年AI大模型市场背景下产品经理的巨大职业机会&#xff0c;市场规模已突破5000亿美元&#xff0c;岗位缺口50万&#xff0c;年薪普遍30万。文章强调技术背景并非成功关键&#xff0c;通过三步法(基础认知建设、实践出真知、主动造浪)可实现转型。AI产品经理核心价…

AWS Machine Learning Specialty 证书备考经验

转&#xff1a; https://www.1point3acres.com/bbs/thread-752471-1-1.html 昨天刚刚通过了AWS ML方向的考试&#xff0c;感觉地里这个证书的备考经验还不太多&#xff0c;趁着还记得来复盘一波&#xff0c;顺便求点米&#xff01; 1. 有没有用&#xff1a; 如果有小伙伴还在考…

大模型产品经理工作全解析:从启动到衍生的评估体系方法论

文章详解了大模型产品经理的完整工作地图&#xff0c;涵盖启动期&#xff08;需求收集与基线评估&#xff09;、优化期&#xff08;模型精调与数据建设&#xff09;和衍生期&#xff08;生态构建&#xff09;。重点阐述评估体系构建方法&#xff0c;包括能力拆解、评价方法选择…

2025年泳池除湿机口碑企业排名,这几家值得信赖,泳池除湿机企业哪里有普沃泰专注产品质量 - 品牌推荐师

行业洞察:泳池除湿机市场迎来品质化竞争新阶段 随着国内游泳场馆数量年均增长12%,以及水上乐园、酒店泳池等场景的爆发式需求,泳池除湿机行业已从“功能满足”转向“品质与效率”的深度竞争。然而,市场仍存在产品同…

AI大模型就业实战营:程序员必学,薪资涨幅超50%,职场竞争力飙升!

文章强调AI时代掌握大模型能力对程序员的重要性&#xff0c;指出传统CRUD程序员正在贬值&#xff0c;而懂AI的程序员更受青睐&#xff0c;薪资涨幅可达50%以上。推荐"AI大模型—就业实战营"&#xff0c;通过2天直播课程帮助学员全面掌握大模型开发能力&#xff0c;并…