导航
课程首页
  • PM-Summit 全球产品经理大会云会员
  • SDCon 全球软件研发技术大会云会员
  • ML-Summit 全球机器学习技术大会云会员
  • C++性能优化高端培训
  • AI全栈开发实战营
精品课 极客时间

C 知道

登录
会员中心
消息
历史
创作中心
创作
学习中心
成为讲师

Linux设备树(device tree)

Linux设备树(device tree)
共35节 1466人在学 课程详情
课程目录
讨论留言
  • 为什么要引入设备树(device tree)?
  • 如何编译和运行 device tree?
  • 使用设备树接口编写platform驱动
  • SoC芯片架构:总线与片选
  • SoC芯片架构:桥接(bridge)
  • SoC芯片架构: extend bus
  • device tree基本语法: node
  • device tree基本语法: property
  • 设备树实例分析: CPU node
  • 设备树实例分析: memory
  • 设备树实例分析: 外设(PrimeCell)
  • 设备树实例分析:中断控制器
  • 设备树实例分析:中断映射
  • 设备树实例分析:时钟
  • extend bus(上): I2C client
  • extend bus(下): memory mapped设备
  • 设备树实例分析: GPIO
  • 设备树实例分析: pinmux(上)
  • 设备树实例分析: pinmux(下)
  • dts和dtsi文件的分离
  • property的overwrite
  • dtb二进制文件格式
  • platform device自动展开分 析(上)
  • platform device自动展开分 析(下)
  • I2C设备的自动展开
  • 哪些node会自动展开为 platform_device?
  • 设备树节点解析示例: CPU node
  • 设备树节点解析示例: memory node
  • 设备树节点解析示例: chosen node(上)
  • 设备树节点解析示例: chosen node(下)
  • 设备树节点解析示例: aliases node
  • 设备树节点解析: 获取IRQ number
  • 设备树节点解析: 获取register地址
  • 设备树节点解析: GPIO
  • Device Bingdings & Guidelines
播放页问题反馈
视频学习中有任何产品建议都可由此反
馈,我们将及时处理!

课时介绍

本节主要知识点: 总线性能与功耗; 什么是桥接:bridge; 桥接的作用 地址域、地址映射及译码 不同地址域domain之间的转换

课程介绍

设备树(device tree)机制是Linux内核从linux-3.x版本开始引进的一种机制,目的是解决内核源码的arch/arm目录下代码混乱的问题:随着ARM生态的快速发展,在内核源码的arch/arm目录下,存放着几十种arm芯片和几百个开发板相关的源文件,很多开发板和处理器的中断、寄存器等相关硬件资源都在这个目录下以.c或.h的文件格式定义。而对于内核来说,与这些硬件耦合,会导致内核代码混乱不堪,每个开发板上运行的内核镜像都必须单独编译配置,无法通用。什么时候Linux内核能像Windows镜像那样,无论你的电脑什么配置,一个Windows安装包,都可以直接下载安装运行呢?

设备树机制,实现了Linux内核和硬件平台的解耦:每个硬件平台的硬件资源使用一个设备树文件(xxx.dts)来描述,而不是在arch/arm下以.c 或 .h 文件来定义。Linux内核是一个通用的内核,在启动过程中,在通过解析设备树中的硬件资源来初始化某个具体的平台。

 

引入设备树后,很多和内核驱动开发的工作也发生了变化:以往驱动工程师关注的头文件宏定义、寄存器定义,现在这些基本上不用关注,关注的重点则转向了如何根据硬件平台去配置和修改设备树文件。很多驱动的编程接口也发生了变化,开始慢慢使用device tree提供的编程接口去开发驱动。

本期课程主要面向嵌入式开发人员,分享Linux下驱动开发所需要的设备树知识和必备技能

推荐课程

信息系统项目管理师自考笔记

李明 · 719人在学

python从0到1:期货量化交易系统(CTP实战,高频及合成K线数据

王先生 · 22084人在学

手把手搭建Java超市管理系统【附源码】(毕设)

汤小洋 · 4200人在学

Java毕设springboot外卖点餐系统 毕业设计毕设源码 使用教

黄菊华 · 787人在学

基于SSM酒店管理系统(毕设)

小尼老师 · 839人在学

java项目实战之购物商城(java毕业设计)

Long · 5153人在学

手把手搭建Java求职招聘系统【附源码】(毕设)

汤小洋 · 1506人在学

Python Django 深度学习 小程序

钟翔 · 2319人在学

城管局门前三包管理系统+微信小程序(vue+springboot)

赖国荣 · 598人在学

Vue+Uni-app(uniapp)入门与实战+赠送仿美团点餐小程序

李杰 · 3982人在学

正在试验
后自动删除环境
课程实验
本次实验时间已到期 00:00:00

    订阅失败

    Linux设备树(device tree)
    Linux设备树(device tree) ...

    订阅列表已满,请先移出部分订阅内容。

    当前章节需购买后观看
    开通超级会员免费看!专家精选系列课程,满足你从入门到精通!更有问答月卡免费送,你的问题有问必答!
    提交答案

    购买课程

    扫码完成付费,可继续学习全部课程内容

    加载中...
    课件正在飞速打包中,请耐心等待几秒钟~
    首页
    博客
    下载
    学习
    社区
    C知道
    GitCode
    InsCodeAI
    技术会议
    会员中心
    创作中心
    联系我们
    工作时间: 8:30 - 22:00
    客服电话: 400-660-0108
    kefu@csdn.net在线客服
    • 关于我们
    • 招贤纳士
    • 商务合作
    • 寻求报道
    • 京ICP备19004658号
    • 经营性网站备案信息
    • 公安备案号11010502030143
    • 营业执照
    • 北京互联网违法和不良信息举报中心
    • 家长监护
    • 中国互联网举报中心
    • 网络110报警服务
    • Chrome商店下载
    • 账号管理规范
    • 版权与免责声明
    • 版权申诉
    • 出版物许可证
    • ©1999-2024北京创新乐知网络技术有限公司