课程介绍:
Linux Drivers的开发重点在于架构设计而不是语法细节,如何使用Linux已有的API来设计和实现机制良好的Linux Drivers是其重点所在。
对Linux Driver Developer而言,要做的工作主要分为2个层面:
1,Virtual Device Driver: 往上层支持 Linux kernel 所提供的 Virtual File System 层,并实作 system calls。使用者可透過 system call interface 与 device driver 沟通;
2,Physical Device Driver: 往下层使用 Linux kernel 所提供的 device interface 操作硬件。 Virtual device driver 的主题的重要性大于 physical device driver,如何善用 Linux 所提供的介面 (interface) 來设计Drivers,并配合 user application 来设计应用程序是重点;
与 user application 如何互动動,是编写Driver非常重要的一个环节,正确理解和处理user-space 与 kernel-space 的关系,尤其的对当今最为火爆的智能平台Android而言,这一点尤为重要。
课程目标:
本课程旨在协助工程师在掌握驱动程序设计和编写最佳实践的前提下,完整的编写出【好】的驱动程序,并以Android最核心的驱动Binder驱动为案例,让学习者一方面彻底掌握嵌入式Linux一个商业级别驱动的完整实现,另一方面也为掌握Android框架打下最坚实的基础;
课程长度:
3天
课程对象:
能看懂C语言代码;最好是对Linux内核有所了解;
课程大纲:
1:搭建嵌入式Linux Driver开发环境
1,1 虚拟机和Linux
1,2 source insight
2:第一个嵌入式Linux Driver程序开发实战
2,1 Helloworld驱动程序;
2.2 模块参数和模块之间的通信;
2.3 将模块加入到内核;
3:Linux驱动架构和设计流程
3.1 通过案例反思linux驱动的架构;
3.2 Linux驱动程序的最佳设计流程;
4:I/O
4.1 I/O端口的访问与读写函数;
4.2 I/O内存读写;
5:read/write与wait queue
5.1 read/write;
5.2 wait queue;
6: Kernel Timer、Task Queue 與 Work Queue
6.1 Kernel Timer;
6.2 Task Queue;
6.3 Work Queue
7:中断处理(Interrupt handling) 與 Bottom Half
7.1 Interrupt handling;
7.2 Bottom Half;
8:Memory Mapped I/O 與 User-space driver
8.1 Memory Mapped I/O;
8.2 User-space driver;
9: Virtual File System
9.1 Subsystem (分层架构) 架构解析;
9.2 Sysfs架构与实战;
9.3 Sysfs Class Driver;
10:Android & Linux Device Driver
10.1 Android 与Linux 整合: HAL 架构 ;
10.2 Kernel Space与User space;
11:次主题的内容是以Android最核心的驱动Binder驱动为案例,让学习者一方面彻底掌握嵌入式Linux一个商业级别驱动的完整实现,另一方面也为掌握Android框架打下最坚实的基础,具体内容如下:
- Service Manager是如何成为一个守护进程的?即Service Manager是如何告知Binder驱动程序它是Binder机制的上下文管理者。
- Server和Client是如何获得Service Manager接口的?即defaultServiceManager接口是如何实现的。
- Server是如何把自己的服务启动起来的?Service Manager在Server启动的过程中是如何为Server提供服务的?即IServiceManager::addService接口是如何实现的。
- Service Manager是如何为Client提供服务的?即IServiceManager::getService接口是如何实现的。
- Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析。
关于艾威
源于美国 始于1998 艾威(AVTECH)是北美著名的培训机构,总部位于美国新泽西州,2000 年进入中国,以培养国际化的中高端信息人才为己任,专注于国际前沿的新技术研发与教育,艾威主要的业务为培训与咨询两大类,目前培训的主要产品有:项目管理培训、IT 管理培训、IT 技术培训、云计算大数据培训、需求管理培训、产品管理培训,信息安全类,AI 人工智能等....近十类上几百门的课程的培训与咨询服务。
艾威(中国)秉承总部“诚信为本、品质为先”的理念,凭借美国艾威科学的课程体系和多年积累的丰富教学经验,结合中国本土企业文化、实际需求,为企业、个人提供定制化的培训解决方案。艾威进入中国这十八年来已经服务了超过 10000 多家客户,获得了良好的口碑!已被众多 500强企业纳入培训供应商,如 HP,NOKIA,CISCO,INTEL,GE,华为,宝马,德电,通用,大陆汽车,中国银行,交行,工行,罗氏,赛诺菲,埃森哲……等。
- 艾威是 Prometric,VUE,PSI……等众多国际认证中心授权的考点
- 艾威是PMI国际项目管理协会PMP、PGMP、PFMP、PMI-ACP、PMI-PBA授权培训机构
- 艾威是IIBA(国际商业分析师行业协会)授权的EECBA、CCBA、CBAP、CDBA、IIBA-AAC、IIBA-CCA授权培训机构
- 艾威是 IT 服务管理官方 EXIN 授权的 ITIL,ITIL EXPERT,Prince2,EXIN Agile Scrum Master 教育机构,同时也是此系列课程的认证考试中心。
- 艾威是ISACA国际信息系统审计师行业协会授权的CISA、COBIT、CDPSE、CRISC、CISM认证培训考试机构。
- 艾威是The Open Group 授权的 TOGAF 企业架构的官方培训机构。
- 艾威是 EPI 授权的数据中心 CDCP 培训机构,华东地区唯一 CDCP 授权培训机构,同时也是 CDCP 认证考试考场。
- 艾威是国际外包专业协会(IAOP)独家授权外包治理国际认证 SGF(Sourcing Governance Foundation)
- 艾威是Peoplecert授权的ITIL、Prince2、MSP、P3O、MOP、DevOps、Alige Scrum Master认证培训考试机构