嵌入式Linux应用开发编程基础教案.docxVIP

  • 0
  • 0
  • 约2千字
  • 约 4页
  • 2026-02-04 发布于湖南
  • 举报

长春职业技术学院课程教案首页

No.19

授课题目

任务19:按键驱动程序编程

教学单元

学时

2[]4[?]

教学目标

[知识目标]:

Linux设备树;

2.中断编程;

3.按键工作原理;

[能力目标]:

1.会中断编程;

2.会按键驱动程序编程;

[素质目标]:

1.培养学生分析及解决问题能力;

2.培养学生具备嵌入式Linux开发的能力;

重点

难点

重点:Linux设备树

难点:按键驱动程序编程

教学方法

讲授法、演示法、实验法

能力训练

(作业)

教学体会

授课班级

授课时间及地点

年月日(星期)第节,楼室

年月日(星期)第节,楼室

年月日(星期)第节,楼室

年月日(星期)第节,楼室

长春职业技术学院课程教案用纸

教学环节

教学内容

备注

课程导入

复习提问:

什么是内设备驱动概念?

如何操作内核模块?

字符设备驱动编程的流程?

宣布本节课的主容:任务19:按键驱动程序编程

1.Linux设备树;●

2.中断编程;

3.按键驱动程序编程;★

(●为重点内容★为难点内容)

15’

复习提问

讲与听

一、Linux设备树

DeviceTree是一种用来描述硬件的数据结构,类似板级描述语言,起源于OpenFirmware(OF)。

DeviceTree的引入给驱动适配带来了很大的方便,一套完整的DeviceTree可以将一个PCB摆在你眼前。

DeviceTree可以描述CPU,可以描述时钟、中断控制器、IO控制器、SPI总线控制器、I2C控制器、存储设备等任何现有驱动单位。对具体器件能够描述到使用哪个中断,内存映射空间是多少等等。

1.DeviceTree结构

DeviceTree是一个树关结构,由节点(Node)和属性(properties)构成,而节点本身可包含子结点。

所谓属性,其实就是成对出现的name和value。可描述的信息包括:

CPU的数量和类别;

内存基地址和大小;

总线和桥;

外设连接;

中断控制器和中断使用情况;

GPIO控制器和GPIO使用情况;

Clock控制器和Clock使用情况;

DT基本上就是画一棵电路板上CPU、总线、设备组成的树;

.

2.DTS(DeviceTreeSource)的语法

现在在内核里的arch/arm/boot/dts目录下存在着大量的.dts和.dtsi文件,dts文件是一种ASCII文本格式的文件,用来描述一个DeviceTree,由于一个SOC可能有多个machine(使用同一个SOC的不同产品),且同一系列的SOC也有很多相同的地方,所以这些dts也就有很多相同的部分,Linux内核把这些相同的东西提炼出来就有了dtsi文件的存在,dtsi名字中的”I”就是”include”的以上,所以作用类似C语言中的头文件。

这个结构中有:

一个根节点”/”

根节点有两个子节点”node1”和”node2”

node1又有两子节点”child-node1”和“child-node2”

属性是成对的key和value,可以是一个字符串,可以是一个整数也可以是一个列表;

二、中断编程

前面讲述的驱动程序中没有涉及中断处理,而实际上,有很多Linux的驱动都是通过中断方式来进行内核和硬件的交互。

中断机制提供了硬件和软件之间异步传递信息的方式,硬件设备在发生某个事件时通过中断通知软件进行处理。

中断实现了硬件设备按需获得处理器关注的机制,与查询方式相比可以大大节省CPU资源的开销。

三、按键工作原理

40’

讲授法,演示法

练与做

互动交流

学生实训

实训19编写程序,实现按键驱动,当按下OK时,并进行测试,编译内核,加载驱动模块。

教师巡视指导,改错。

80’

实验法

结与拓

学生总结实验结果。

(1)学生完成习题,各小组阐述相关内容,提问。

(2)教师着重解决普遍存在的问题,答疑;学生反思,整理笔记。

(25分钟)

课堂总结

由学生发言进行总结,之后老师点评:

1.本次课程需要涉及的知识点

2.本次课程需要达到的目标

总结引申

(20分钟

文档评论(0)

1亿VIP精品文档

相关文档