0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

嵌入式Linux新手入门:为什么迅为RK3568+迅为资料是黄金组合

北京迅为电子 2025-11-04 14:05 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

嵌入式Linux新手入门:为什么迅为RK3568+迅为资料是黄金组合

新人必看:想玩转RK3568,但纠结买哪家?作为开发板,板卡只是半成品,“板卡+保姆级资料”才是你能握在手里的完整武器!

嵌入式Linux驱动的学习路径:手持迅为攻略的“开图玩家”

你手里的不是一堆PDF和视频,而是一张清晰的“驱动开发藏宝图”。你的学习路径是这样的:

【一】从开机到驱动“HelloWorld”
1:跟着《入门指南》成功启动系统,看到串口日志。
2:参照文档搭建编译环境,成功编译官方提供的第一个内核。
3:将自己编译的系统烧录进板子,并让一个LED灯闪烁起来。成就达成!


【二】攻克字符设备驱动与设备树
1:跟着《第19章字符设备驱动框架实验》和《第25章点亮LED灯实验》,亲手写出按键驱动,并成功在应用层控制。
2:学习《第62-68章设备树系列实验》,从语法到实例,彻底看懂驱动如何从设备树中获取硬件资源。
3:你已经能独立完成一个“按键控制LED”的综合项目,对驱动框架和设备树有了清晰理解。


【三】向高级驱动工程师迈进
研究《第46-56章中断与工作队列》,处理更复杂的异步事件。
动手《第121-128章pinctrl子系统》和《第129-137章GPIO子系统》,掌握现代内核引脚管理的标准方法。
开始尝试移植复杂外设,内核源码在你眼中不再是一座孤岛,而是有地图的宝藏。

跟着迅为学习路径:信心爆棚,每天都在解锁新成就,学习路径清晰可见。

wKgZO2kJl1WAfln-AB2TGUrAuHM178.png

《北京迅为itop-3568开发板驱动开发指南(重制版)》

  1. helloworld 驱动实验

本章编写第一个驱动程序helloworld,并讲解Linux驱动基本框架。

2.1 驱动编写

本小节来编写一个最简单的驱动——helloworld驱动。其程序helloworld.c代码如代码清单

2.1所示.

代码清单2.1

wKgZPGkJluGAIAxuAAGOJrDs9Fw355.png

2.2 驱动基本框架

Linux驱动的基本框架由模块加载函数,模块卸载函数,模块许可证声明,模块参数,模

块导出符号,模块作者信息等几部分组成,我们先来看一下这几个部分的作用。

1模块加载函数(驱动入口函数)

当加载驱动模块时,内核会执行模块加载函数,完成模块加载函数中的初始化工作。

2模块卸载函数(驱动出口函数)

当卸载驱动模块时,内核会执行模块卸载函数,完成模块卸载函数中的退出工作。

3模块许可证声明

许可证声明描述了内核模块的许可权限,如果不声明模块许可,模块在加载的时候,会收到“内核被污染(kernel tainted)”的警告。可接受的内核模块声明许可有“GPL”“GPL v2” 等。

4模块参数(可选择)

内核模块参数是模块被加载的时候可以传递给它的值。

5模块导出符号(可选择)

内核模块可以导出的符号,导出符号以后其他内核模块可以使用本模块中的变量或函数。

6模块作者信息等说明(可选择)

其中模块参数,模块导出符号,模块作者信息是可选的部分。其余部分是必须有的。

接下来通过驱动基本框架分析helloworld驱动。

(1)模块加载函数:

wKgZO2kJluCAXNY0AAB98LRLLx8218.png

(2)模块卸载函数:

wKgZPGkJluCAQU6VAAB3ngF564I744.png

(3)模块许可证声明

wKgZPGkJluCAXfvMAAAvGI_kY4A146.png

(4)模块作者信息

wKgZO2kJluCAeQNEAAAkPj3z5tM810.png

(5)头文件

wKgZPGkJluCALmk-AABRt0ddZCw162.png

通过上面的分析可知,helloworld驱动包含了驱动框架所有必要部分。因此helloworld驱动可以看作是驱动代码的模板。任何一个驱动代码可以都用它作为基础来编写实现。因此同学们要将helloworld驱动记忆下来!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5186

    文章

    20143

    浏览量

    328644
  • Linux
    +关注

    关注

    88

    文章

    11627

    浏览量

    217890
  • RK3568
    +关注

    关注

    5

    文章

    628

    浏览量

    7571
  • 迅为电子
    +关注

    关注

    0

    文章

    83

    浏览量

    302
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    工业RK3568稳定可靠】itop-3568开发板Linux驱动开发实战:RK3568内核模块符号导出详解

    工业RK3568稳定可靠】itop-3568开发板Linux驱动开发实战:RK3568内核
    的头像 发表于 11-21 13:25 625次阅读
    【<b class='flag-5'>迅</b><b class='flag-5'>为</b>工业<b class='flag-5'>RK3568</b>稳定可靠】itop-<b class='flag-5'>3568</b>开发板<b class='flag-5'>Linux</b>驱动开发实战:<b class='flag-5'>RK3568</b>内核模块符号导出详解

    实战RK3568性能调优:如何利用资料压榨NPU潜能-在Android系统中使用NPU

    《实战RK3568性能调优:如何利用资料压榨NPU潜能-在Android系统中使用NPU》
    的头像 发表于 11-07 13:42 219次阅读
    实战<b class='flag-5'>RK3568</b>性能调优:如何利用<b class='flag-5'>迅</b><b class='flag-5'>为</b><b class='flag-5'>资料</b>压榨NPU潜能-在Android系统中使用NPU

    项目效率翻倍!RK3568 V2.0硬件接口升级,开发流程再提速

    项目效率翻倍!RK3568 V2.0硬件接口升级,开发流程再提速
    的头像 发表于 10-29 10:53 215次阅读
    项目效率翻倍!<b class='flag-5'>迅</b><b class='flag-5'>为</b><b class='flag-5'>RK3568</b> V2.0硬件接口升级,开发流程再提速

    嵌入式入门必看!RK3568 V2.0升级,新手也能轻松玩转

    嵌入式入门必看!RK3568 V2.0升级,新手也能轻松玩转
    的头像 发表于 10-28 13:26 183次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>入门</b>必看!<b class='flag-5'>迅</b><b class='flag-5'>为</b><b class='flag-5'>RK3568</b> V2.0升级,<b class='flag-5'>新手</b>也能轻松玩转

    RK3568开发板模型推理测试实战LPRNet 车牌识别

    RK3568开发板模型推理测试实战LPRNet 车牌识别
    的头像 发表于 08-25 14:55 1062次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b><b class='flag-5'>RK3568</b>开发板模型推理测试实战LPRNet 车牌识别

    RK3568 重制版RK3568驱动指南全面升级

    RK3568 重制版RK3568驱动指南全面升级
    的头像 发表于 07-28 15:25 1483次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b><b class='flag-5'>RK3568</b> 重制版<b class='flag-5'>RK3568</b>驱动指南全面升级

    技术分享 | RK3568开发板如何将 Linux 板卡虚拟成U盘

    技术分享 | RK3568开发板如何将 Linux 板卡虚拟成U盘
    的头像 发表于 06-04 10:57 873次阅读
    技术分享 | <b class='flag-5'>迅</b><b class='flag-5'>为</b><b class='flag-5'>RK3568</b>开发板如何将 <b class='flag-5'>Linux</b> 板卡虚拟成U盘

    RK3568开发板驱动指南GPIO子系统GPIO子系统API函数的引入

    RK3568开发板驱动指南GPIO子系统GPIO子系统API函数的引入
    的头像 发表于 05-29 14:05 826次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b><b class='flag-5'>RK3568</b>开发板驱动指南GPIO子系统GPIO子系统API函数的引入

    RK3568驱动指南GPIO子系统 GPIO操作函数实验

    电子RK3568开发板驱动指南GPIO子系统 GPIO操作函数实验
    的头像 发表于 05-28 15:24 1039次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b><b class='flag-5'>RK3568</b>驱动指南GPIO子系统 GPIO操作函数实验

    RK3568驱动指南GPIO子系统实战:实现动态切换引脚复用功能

    RK3568驱动指南GPIO子系统实战:实现动态切换引脚复用功能
    的头像 发表于 05-22 14:27 1674次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b><b class='flag-5'>RK3568</b>驱动指南GPIO子系统实战:实现动态切换引脚复用功能

    电子】一步步教你完成iTOP-RK3568 EDP屏幕适配

    电子】一步步教你完成iTOP-RK3568 EDP屏幕适配
    的头像 发表于 04-23 15:08 1616次阅读
    【<b class='flag-5'>迅</b><b class='flag-5'>为</b>电子】一步步教你完成iTOP-<b class='flag-5'>RK3568</b> EDP屏幕适配

    北京RK3568开发板OpenHarmony系统南向驱动开发内核HDF驱动框架架构

    北京RK3568开发板OpenHarmony系统南向驱动开发内核HDF驱动框架架构
    的头像 发表于 03-11 14:13 1551次阅读
    北京<b class='flag-5'>迅</b><b class='flag-5'>为</b><b class='flag-5'>RK3568</b>开发板OpenHarmony系统南向驱动开发内核HDF驱动框架架构

    【北京】iTOP-RK3568OpenHarmony系统南向驱动开发GPIO基础知识

    【北京】iTOP-RK3568OpenHarmony系统南向驱动开发GPIO基础知识
    的头像 发表于 03-06 11:23 1000次阅读
    【北京<b class='flag-5'>迅</b><b class='flag-5'>为</b>】iTOP-<b class='flag-5'>RK3568</b>OpenHarmony系统南向驱动开发GPIO基础知识

    【技术分享】RK3568开发板使用TFTP加载内核设备树

    【技术分享】RK3568开发板使用TFTP加载内核设备树
    的头像 发表于 02-21 14:04 1119次阅读
    【技术分享】<b class='flag-5'>迅</b><b class='flag-5'>为</b><b class='flag-5'>RK3568</b>开发板使用TFTP加载内核设备树

    RK3568开发板驱动指南Linux中通用SPI设备驱动

    RK3568开发板驱动指南Linux中通用SPI设备驱动
    的头像 发表于 01-23 11:02 3416次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b><b class='flag-5'>RK3568</b>开发板驱动指南<b class='flag-5'>Linux</b>中通用SPI设备驱动