exfat驱动源码 linux_怎么学好 Linux 内核?

我觉得学习内核驱动时,最开始只需要 ‘Know what, not know how ’。 不用去探究细节,只需要知道整体的框架,知道有哪些需要我们重视的内容即可。

何为 Linux 内核开发?

首先,初步认识下 Linux kernel

66c860ef6c7bcf9bd55405cd9a90d198.png
  • Linux 内核的框架如上图。
  • 设备子系统负责和硬件打交道。
  • 大部分工作集中在设备子系统部分。

内核开发是什么?

  • 广义上讲,新增或修改上图中内核部分的所有子系统。
  • 非 Linux 源码贡献者,一般来说只修改设备子系统部分。

接下来,简单聊聊初学者需要重点关注的三个部分:设备树,字符设备,平台设备驱动。

设备树(DTS)

设备树相当于一份软件中描述硬件结构的配置框图。假设下图为硬件框图:

68b0d1028a5e5eab3d9f0dab9b1104d9.png

那么其软件描述的代码片段如下:

/ { // root node
    model = "Qualcomm Technologies, Inc. SDM xxx";
    compatible = "qcom,sdmxxx";
    cpus {
        ... 
        cpu@0 {
            ... 
        };
        cpu@1 {
            ... 
        };
    };
    usb@<address> {
        ... 
    };
    serial@<address> {
        ... 
    };
    gpio@<address> {
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值