当前位置:
文档之家› 第一堂课ppt 嵌入式驱动程序开发
第一堂课ppt 嵌入式驱动程序开发
•内核的锁机制 内核的锁机制 •阻塞与非阻塞 阻塞与非阻塞 •内核定时器 内核定时器 •内存的分配 内存的分配 •中断程序机制 中断程序机制
Linux驱动开发核心技术 2. Linux驱动开发核心技术
IT Education & Training
Date: 9
3 2010
Neusoft Institute of Information
目录
一
课程内容简介 Linux内核与C代码 Linux的驱动程序 驱动程序开发环境
二
三
四
IT Education & Training
Date: 9
3 2010
Neusoft Institute of Information
授课教师基本情况
授课教师:周国顺
大连东软信息学院: 大连东软信息学院:嵌入式系统工程系 办公地点:F406 办公地点:
IT Education & Training
Date: 9
3 2010
Neusoft Institute of Information
掌握驱动目标的硬件工作原理及通讯协议
• 如:串口控制器、显卡控制器、硬件编解码、存储 卡控制器、I2C通讯、SPI通讯、USB通讯、SDIO通讯、 I2S通讯、PCI通讯等 此项的重要程度应该不用多说了,编写设备驱动的 前提就是知道设备的操作方法。但不是说要把所有设备 的操作方法都熟悉了以后才可以驱动,你只需要了解你 要驱动的硬件就可以了。所有这一项对于初学者来说重 要程度都是:*****。
IT Education & Training
Date: 9
3 2010
Neusoft Institute of Information
良好的GNU C语言编程基础 良好的GNU C语言编程基础
• 如:C语言的指针、结构体、内存操作、链表、队列、 栈、C和汇编混合编程等。 这些编程语法是编写设备驱动的基础。 此项无论对于初学者还是熟手重要程度:*****
IT Education & Training
Date: 9
3 2010
Neusoft Institute of Information
课程导引: 课程导引:
本课程重要吗? 怎样才能学好本课程?
IT Education & Training
Date: 9
3 2010
Neusoft Institute of Information
Date: 9
3 2010
Neusoft Institute of Information
嵌入式Linux设备驱动开发 嵌入式Linux设备驱动开发 Linux
嵌入式系统工程系-IT Education & Training
Date: 9
3 2010
Neusoft Institute of Information
IT Education & Training
Date: 9
3 2010
Neusoft Institute of Information
掌握硬件的控制方法
• 如:中断、轮询、DMA 通常一个硬件控制器会有多 种控制方法,你需要根据系统性能的需要合理的选择操 作方法。 此项对于初学者来说:重要程度:****。初学阶段 以实现功能为目的。掌握的顺序应该是,轮询->中断>DMA。随着学习的深入,需要综合考虑系统的性能需求 ,采取合适的方法。
•LCD接口原理 LCD接口原理 LCD •S3C2410的LCD S3C2410的 S3C2410 驱动转换 •Framebuffer原 Framebuffer原 Framebuffer 理 •触摸屏驱动 触摸屏驱动
Linux驱动开发核心技术 2. Linux驱动开发核心技术 GPIO驱动 3. GPIO驱动 4.串行总线驱动 4.串行总线驱动 LCD驱动 5. Linux LCD驱动
一、课程内容简介
Linux驱动程序基础 1. Linux驱动程序基础
•ARM体系结构 ARM体系结构 ARM •I/O口操作 I/O口操作 I/O •I/O口简单应用 I/O口简单应用 I/O •键盘驱动 键盘驱动
Linux驱动开发核心技术 2. Linux驱动开发核心技术 GPIO驱动 3. GPIO驱动
联系方式:办公室电话84832213 联系方式:办公室电话84832213 邮箱: 邮箱:zhouguoshun@
IT Education & Training
Date: 9
3 2010
Neusoft Institute of Information
主要教学环节
课堂教学: 学时 课堂教学:48学时 实验教学: 学时 实验教学:16学时 实验内容:基于 处理器的8次实验 实验内容:基于S3C2410处理器的 次实验 处理器的 先修课程: 语言》《数字电路》《 先修课程 《C语言》《数字电路》《嵌入式微处理器 》 语言》《数字电路》《嵌入式微处理器 》《嵌入式系统概论 嵌入式系统概论》 《嵌入式操作系统 》《嵌入式系统概论》 教学组织形式: 课堂讲授、习题课、实验、 教学组织形式 课堂讲授、习题课、实验、分组教学
Date: 9
3 2010
Neusoft Institute of Information
作品简介
IT Education & Training
Date: 9
3 2010
Neusoft Institute of Information
一、课程内容简介
Linux驱动程序基础 1. Linux驱动程序基础
•块设备驱动原 块设备驱动原 介绍) 理(介绍) •网络设备驱动 网络设备驱动 原理
4.串行总线驱动 4.串行总线驱动
LCD驱动 5. Linux LCD驱动 6. 输入子系统 7.块设备、 7.块设备、网络设备驱动 块设备
IT Education & Training
Date: 9
3 2010
Neusoft Institute of Information
IT Education & Training
Date: 9
3 2010
Neusoft Institute of Information
最新引入考勤系统
IT Education & Training
Date: 9
3 2010
Neusoft Institute of Information
主要教学环节
课程考核方式: 课程考核方式:
• 课程考核成绩=实验(40分)+系统设计大作业(45分)+平时表现( 课程考核成绩=实验(40分 系统设计大作业(45分 平时表现( 15分 15分)。 • 平时考核种类及分数比例: 平时考核种类及分数比例: • 1.考勤、学习态度等(15%): 1.考勤 学习态度等(15%): 考勤、 • 迟到、早退一次扣3分,旷课一次扣6分,上课积极回答问题加1~2分, 迟到、早退一次扣3 旷课一次扣6 上课积极回答问题加1~2 1~2分 提问答不上来扣1~2 1~2分 提问答不上来扣1~2分; • 2.实验成绩(40%) 实验成绩(40%) • 共计6次实验,每次实验5分,其中独立完成实验的占2分,实验报告占 共计6次实验,每次实验5 其中独立完成实验的占2 态度积极的加4 3分;态度积极的加4分; • 3. 系统设计大作业:(45%) 系统设计大作业:(45%) :(45 每位同学的项目设计成绩=小组成绩×小组人数× 每位同学的项目设计成绩=小组成绩×小组人数×贡献比例
IT Education & Training
Date: 9
3 2010
Neusoft Institute of Information
如何写好Linux设备驱动 如何写好Linux设备驱动 Linux
Linux设备驱动是linux内核的一部分,是用来封装 硬件细节,为上层提供标准接口的一种方法。为了能够 编写出质量比较高的驱动,要求工程师必须具备以下几 个方面的知识: 熟悉处理器的性能 如:处理器的体系结构、汇编语言、工作模式、异常处 理等此项对于初学者来说,重要程度:***。也就是说还 不熟悉驱动编写方法的情况下,可以先不把重心放在这 一项上,因为可能因为它的枯燥、抽象而影响到你对设 备驱动的兴趣。 随着你不断的熟悉驱动的编写,你会很自然的意识到 此项的重要性。
•驱动程序概念、模 驱动程序概念、 驱动程序概念 型 •驱动程序的加载方 驱动程序的加载方 式调试手段及与 应用程序操作接口
IT Education & Training
Date: 9
3 2010
Neusoft Institute of Information
一、课程内容简介
Linux驱动程序基础 1. Linux驱动程序基础
GPIO驱动 3. GPIO驱动 4.串行总线驱动 4.串行总线驱动 LCD驱动 5. Linux LCD驱动 6. 输入子系统
IT Education & Training
Date: 9
3 2010
Neusoft Institute of Information
一、课程内容简介
Linux驱动程序基础 1. Linux驱动程序基础 2. Linux驱动开发核心技术 Linux驱动开发核心技术 GPIO驱动 3. GPIO驱动
IT Education & Training
Date: 9
3 2010
Neusoft Institute of Information
良好的linux操作系统概念 良好的linux操作系统概念 linux
• 如:多进程、多线程、进程调度、进程抢占、进程 上下文、虚拟内存、原子操作、阻塞、睡眠、同步等概 念及它们之间的关系。 这些概念及方法在设备驱动的使用是linux设备驱动 区别单片机编程的最大特点。只有理解了它们才会编写 出高质量的驱动。 此项对于初学者来说:重要程度:***。开始可以以 实现功能为目的,逐步完善自己的驱动。