码迷,mamicode.com
首页 > 其他好文 > 详细

第七章随笔

时间:2016-06-05 15:15:11      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:

在前几章节中了解到了开发Linux驱动程序的步骤,并且给了一个示例来掩饰如何开发一个完整的Linux驱动。但是这个Linux驱动只简单地演示了实现Liunx驱动的步骤,而对于大多数Linux驱动来控制开发板上的4LED小灯。Linux驱动虽然直接与硬件打交道,但并不是Liunx驱动直接向硬盘中的内存写数据,而是与本机中的I/O内存进行交互。对于创建LED驱动的设备文件,我们可以分为以下几个步骤:使用cdev_init函数初始化cdev;指定Linux文件的设备号;使用cdev_add函数将字符设备天剑到内核中的字符设备数组中;使用class_create宏穿件struct class;使用device_create函数创建设备文件。在实现过程中卸载LED驱动的设备文件,依次调用了device_destroy,class_destroyunregister_chrdev_region方法。然后设置寄存器与初始化LED驱动,在控制LED亮灭之前我们必须了解如何设置寄存器。ARM处理器有多个寄存器,通过设置不同的寄存器的值。可以设置LED引脚的状态,打开或者禁止上拉电路以及控制LED的亮和灭。LED驱动可以使用两种方式来控制LED,同伙字符串控制LED和通过I/O命令控制LED。对于测试LED驱动我们可以通过编写测试I/O控制命令的通用程序,或者使用NDK测试LED驱动,也可以使用Java测试LED驱动。通过这一章的学习,了解到虽然LED驱动并不复杂,知识控制了4LED,但是LED驱动已经包括了Linux驱动所有必要的部分。一个完整的Linux驱动主要由内部处理和硬件交互两部分组成。其中内部处理主要是指Linux驱动的装载,卸载,与设备文件相关的动作出路以及业务逻辑。

第七章随笔

标签:

原文地址:http://www.cnblogs.com/kong1188/p/5560766.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!