1、基于 HBEEMPOSIIISV210 实验箱的嵌入式驱动程序设计课程实验研究一、嵌入式系统概要 嵌入式系统指的是为执行特定的功能而内置硬件和软件的电子控制系统。换言之,内置的是微处理器而不是一简单的单回路装置。即通过这些微处理器的运作从而执行所需的操作并管理程序的系统。 嵌入式系统开始应用于汽车、航天、航空、军事、医疗装备和工程制御等工业方面,现在应用范围扩大到家电产品、移动电话等,从而密切联系着我们的生活。特别是使智能手机和互联网接入成为可能的智能TV、超便携平板电脑、具有远程监控功能的.等已成为市场的主流。像智能手机,和小型综合无线通信电话机一样的新形态的产品的出世,使手机不到二三年已发
2、展到一个新的范例。因为现阶段已经没有未配备微处理器和软的家电类产品,且现在软件和硬件方面技能的要求越来越高,所以说从这两方面来看的话,端嵌入式系统的发展速度将会猛增。 而目前的大中专院校,尤其本科阶段以上的高等院校,嵌入式系统工程人才培养相对落后。在这种情况下,许多高校为自动化、电子信息、计算机等专业设置了嵌入式系统等课程,但大部分高校的嵌入式系统实验都是基于 ARM7 的实验平台,已不能满足嵌入式系统教学发展的需要。 二、HBE-EMPOS-SV210 简介 HBE-EMPOS-SV210 是使用 ARM 公司的 CortexTM-A8 Core,基于最新三星应用的 S5PV210 处理器,
3、提供其各种功能及应用,开发的嵌入式平台。HBE-EMPOS-SV210 适用处理器中提供的多样化的功能,可对处理器系统核心功能进行学习,以及内置了以实际生活中兴起应用的多样化外围设备。从 HBE-EMPOS-SV210 中理解以其连接设备的构造及驱动原理,可进行学习处理器与外围设备的应用,也是活用其他选配模块,多样化的外围设备及通信环境一起可进行实验练习的平台。 三、基于 HBE-EMPOS-SV210 的嵌入式驱动实验 在 HBE-EMPOS-SV210 中可完成的驱动程序设计有: LED 设备驱动程序、7-Segment 设备驱动程序、TextLCD 设备驱动程序、Dot Matrix 设
4、备驱动程序、KeyPad 设备驱动程序、DIP Switch 设备驱动程序、OLED 设备驱动程序、Buzzer 设备驱动程序、GPIO-Button 设备驱动程序。 四、嵌入式驱动实验实例蜂鸣器 HBE-EMPOSIII-SV210 的 Buzzer Controller 通过由 16bit 构成的Buzzer_Ctrl_Reg (Buzzer Control Register) 控制。通过向 Buzzer_Ctrl_Reg 0 bit 中写入 0 或者 1、可以关闭或打开 Buzzer。 下图表现了 Buzzer Control Register 的数据位构造。 Buzzer Contro
5、l Register (read/write) 设备驱动程序通过 close 函数关闭时,利用 iounmap() 函数释放物理地址和虚拟地址。在 open() 函数中注册的 I/O 区域也释放。 通过 write 函数向设备驱动程序中写值时。驱动程序值写在映射的 (*addr) 存储空址中,空址 Buzzer。 (0:off, 1:on) rmmod 命令执行时被执行的例程。使用 unregister_chrdev() 函数释放字符设备驱动程序。 module_init 是内核装载 (insmod 执行时) 时指定内核调用的函数的宏,module_exit 是内核卸载 (rmmod 执行时)
6、 时指定内核调用的函数的宏。 建立为了使用设备驱动程序的应用程序 buz_test.c。 在 buz_test.c 代码中,利用 open 函数打开设备驱动程序。如果 /dev/buzzer 驱动程序正常运行,用户输入的数据值通过 write() 函数控制 Buzzer。 (相关代码略,可以查阅实验箱配套指导手册) 实验步骤: 1)编译 现在,创建 Makefile 来编译两个文件。编译后多数的文件被生成。在这里,来观察研究 buzzer.ko 和 buz_test 这两个文件。buzzer.ko 是设备驱动程序目标文件,buz_test 是执行文件。 接下来,需要将模块插入到内核中。插入命令
7、是 insmod,通过 mknod 装载设备驱动程序。Mknod 使用时,使用的主编号可以作为 insmod 命令语使用时出现的编号使用。主编号可以在 insmod 后查看 /var/log/messages 来了解。 如果设备驱动程序移植完成,运行 buz_test 程序,控制 Buzzer。./buz_test 1 控制蜂鸣器发声,./buz_test 0 关闭蜂鸣器。 五、总结 嵌入式驱动程序设计作为知识更新速度极快、教学内容越来越多的一门课程,需要教师在不断的教学实践和教学探索过程中,结合相应的实验设备,不断发现适合本校学生的教学方法和教学模式。 参考文献: 1邓春健,李文生,杨亮,刘
8、伟.“ARM 嵌入式系统”课程教学方法研究J.计算机教,2010(3):94-96. 2邱铁,吴国伟,刘晓艳.基于应用的高校嵌入式系统方向培养模式J.计算机教育,2011(4):1-4. 3赵建勇,邬惠峰,嵌入式实验教学中液晶屏驱动实验创新与实践J.杭州电子 科技大学学报(社会科学版) , 2011(4):74-76. 4渠丽岩.让学生在快乐中学习:谈案例教学法在“单片机原理与应用”教学中 的应用J.计算机教育,2009(18):93-95. 5李志杰. 新形势下嵌入式系统教学体系探讨J.业界论坛,2010(12):5-6. 6韩伯电子技术研究所 通过 HBE-EMPOSIII-SV210 学习的嵌入式 Linux 编程. 2011