课程分类

课程介绍
课程目录
用户评论
课程介绍
课程目录
用户评论

你将获得

  • 掌握某些知识点
  • 学会某些技巧(或思路)

教学服务

  • icon

    1v1专属答疑服务

  • icon

    BAT专家面试辅导

讲师介绍

  • 专注嵌入式、安卓研发数十年,参与工控、物联网智能家具、机器人控制系统等

  • 课程详情

    1.1课程介绍

    1. 课程概述
    设备树是一种描述硬件的数据结构,它起源于openfirmware,采用设备树后,许多硬件的细节可以直接通过它传递给Linux,而不需要在内核中进行大量冗余编码。通俗地解释就是设备树使用一种全新的语言来描述硬件设备在物理上的电气连接关系以及设备信息。引入设备树前,开发板硬件信息是通过C代码编写,当开发板电路发生变化,需要重新修改C代码,重新编译、更新内核。引入设备树后,只需要修改设备树源文件(非C语言编写),更新设备树信息即可, 设备树有很大的便利。设备树是当今Linux驱动主流、热门的,必备的开发技术。此处免费提供第一课和第二课两大章节内容,更多了解请联系深圳信盈达科技有限公司。
    1. 适合人群
    1. 有Linux驱动开发基础,但是还没有掌握设备树的修改开发技术的开发者。
    2. 有志于从事Linux驱动,Android驱动开发方向的开发者
    3. 会简单修改设备树,想系统学化深入习设备树原理及开发方法的开发者
    1. 你Get 到的技能
    1. 了解设备树的历史
    2. 全面掌握设备树的编程语法规则
    3. 无障碍阅读和修改设备树源文件
    4. 掌握在ARM Linux 中编译和使用设备树的方法
    5. 掌握常用设备树解析内核API 使用
    6. 掌握设备树中GPIO,中断,时钟,自定义属性在使用
    7. 掌握pintctl 子系统API在驱动中的使用方法
    8. 灵活掌握在使用设备树进行各类驱动程序开发
     
    1. 课程目录
    第一课.07-Linux内核设备树机制-语法基础篇
    01-DTS功能演示.wmv
    02-Linux内核设备树引入历史.wmv
    03-DT 相关文件类型.wmv
    04-DTS文件结构.wmv
    05-DTS文件格式.wmv
    06-设备树基本语法.wmv
    07-dtc工具安装.wmv
    08-dtc工具使用编译和反编译.wmv
    09-设备树源文件修改.wmv
     
    第二课 08-Linux内核设备树-特殊节点和属性篇
    01-特殊节点.wmv
    02-标准属性1.wmv
    03-标准属性2.wmv
    04-中断相关属性.wmv
     
    第三课_ 09-Linux内核设备树-of_API应用篇
    01-arm中使用设备树.wmv
    02-device_node.wmv
    03-of_API-上.wmv
    04-of_API-下.wmv
    05-of_API示例.wmv
    06-中断相关属性.wmv
    07-gpio相关属性.wmv
     
     
    第六课_ 10-Linux内核设备树-应用实例篇
    01-led驱动平台数据设计.wmv    
    02-led驱动设备树节点定义.wmv  
    03-led驱动程序实现分析.wmv    
    04-基于dts实现按键驱动.wmv                      
    05-新式GPIO子系统API应用.wmv
    06-新式GPIO子系统API应用-三级节点gpio属性.wmv
    07-Linux pinctrl介绍.wmv
    08-pinctrl相关专业术语.wmv  
    09-pin control state与device tree的关系.wmv
    10-pinctl驱动示例.wmv
     

    1.2课程主要知识点

    第一课-Linux内核设备树机制-语法基础篇
    1.1 设备树引入后平台设备驱动demo
    1.1.1 基于设备树机制的平台设备驱动程序demo
    1.1.2 基于设备树机制的平台驱动测试结果分析
    1.2 Linux内核设备树引入历史  
     
    第二课-Linux内核设备树-特殊节点和属性篇
    2.3 设备树编写规范
    2.3.1 DT 相关文件类型
    2.3.1 DTS文件结构
    2.3.2 DTS文件格式
    2.4 设备树编译工具安装  
    2.4.1 在线安装DTC
    2.4.2 编译支持设备树的内核源码得到
    2.4.3 独立编译 DTC 工具
    2.5 dts文件编译及dtb文件反编译
    2.6 dts文件节点修改
    2.6.1 修改定义了标签的节点属性
    2.6.2 修改没有定义标签的节点属性
    2.6.3 删除节点
     
    第三课 Linux内核设备树-of_API应用篇  
    3.1 ARM Linux中使用设备树
    3.1.1 DTS和BootLoader用法上的关系
    3.1.2 内核如何决定编译哪些dts文件
    3.2 Linux内核获得设备树信息  
    3.2.1 device_node 结构  
    3.2.2 of API详解
    3.2.3 of API函数应用实战

    第四课 Linux内核设备树-应用实例篇
    4.1 基于设备树机制实现LED驱动示例
    4.2 使用DTS机制实现按键驱动示例:使用gpio描述符
    4.2.1 传统gpio接口(旧接口)
    4.3 Linux内核gpio子系统API应用示例(新式API)  
    4.3.1 新gpio接口(与设备树结合)
    4.3.2 基于devm机制的 gpio 相关api
    4.3.3 获得二级设备节点中gpio描述符示例  
    4.3.4 获得三级节点中gpio描述符示例  
    4.4 Linux 内核pintctl 子系统API应用示例
    4.4.1 Linux pinctrl子系统简介
    4.4.2 pinctrl相关专业术语
    4.4.3 pin control state与device tree的关系
    4.4.4 使用pinctrl 配置设备IO引脚功能
    4.4.5 pinctl子系统常用API  
     

    1.3讲师介绍

    陈志发 信盈达王牌讲师、技术牛人简介
    十年嵌入式LINUX和Android系统项目研发经验,高级嵌入式Linux和Android研发工程师。
    目前主要致于嵌入式Linux及Android中间层、应用层的开发和研究。
    精通Android下JAVA编程,精通LINUX下C及C 编程。熟悉TI、三星等系列CORTEX-A9/15/53/72架构处理器。
    熟悉基于ARM体系架构嵌入式系统的软硬件开发流程和方法,针对ARM的Linux和Android应用开发及系统开发具有深刻的理解和丰富的经验。
    拥有丰富的嵌入式物联网、可穿戴设备、消费、工控类电子领域内嵌入式产品的规划、研发和量产的经验。有丰富的嵌入式Linux系统、Android系统开发和培训经验。近主导成功开发以下项目
    医疗器械生化分析检测设备
    按压式指纹模组控制器
    智能小区节能电源管理项目
    户外大屏幕广告屏控制项目
    路灯远程遥测遥控控制终端项目
    智能可视楼宇对讲系统
    广东海事局遥测遥控航标灯项目
    大功率激光雕刻工业控制项目。