操作系统是通过各种驱动程序赖家与硬件设备的,它为用户屏蔽了各种各样的设备,驱动硬件是操作系统最基本的功能,并且提供统一的操作方式。设备驱动程序是操作系统最基本的组成部分之一,在Linux内核源程序中也占有60%以上,因此熟悉驱动的编写很重要。Linux系统将每一个驱动都映射成一个文件。这些文件称为设 ...
分类:
移动开发 时间:
2016-06-10 19:10:56
阅读次数:
160
本章学习了搭建S3C6410开发板的测试环境,主要都是围绕S3C6410开发板进行的。这个开发板是由三星公司推出的一款低功耗、高性价比的RISC处理器,基于ARM11的内核。一、搭建编译环境所需要的交叉编译工具链:S3C6410X Tool Chain 4.2.2 - EABI V0.0 - cro ...
分类:
移动开发 时间:
2016-06-10 19:07:14
阅读次数:
204
开发板是开发和学习嵌入式技术的主要硬件设备,开发板的型号和种类很多,目前流行的是基于S3C6410 ARM11架构的开发板,S3C6410是由三星公司推出的一款低功耗,高性价比的RISC处理器,它基于ARM11内核,可广泛应用于移动电话和通妖魔化处理等领域。OK6410开发板基于三星公司最新的ARM ...
分类:
移动开发 时间:
2016-06-10 19:02:41
阅读次数:
242
第一个Linux驱动程序:统计单词个数 Linux驱动到底是个什么东西. 对于没接触过驱动开发的程序员可能感觉Linux驱动很神秘,其实,这完全是误解。Linux系统将每一个驱动都映射成一个文件,称之为设备文件或驱动文件,保存在/dev中。这样就使得与Linux驱动交换数据相当于与设备文件交换数据。 ...
分类:
其他好文 时间:
2016-06-08 00:04:36
阅读次数:
170
蜂鸣器是s3c6410开发板上带的一个硬件设备,可以通过向寄存器写入特定的值来控制蜂鸣器发出尖叫声。 在前面的章节编写了两个完整的linux驱动:word_count驱动和led驱动,两个有一共同点就是都有一个源代码文件组成。 代码重用分为静态和动态两种。即将需要重要的代码使用者放在一起进行编译,最 ...
分类:
移动开发 时间:
2016-06-06 12:03:17
阅读次数:
394
在本章节中,作者通过对实例控制LED来讲述了安卓的驱动开发。与上一章节不同的是,上一章在注册和卸载设备文件的时候使用的是函数misc_register,而在LED中使用的是cdev_init等函数。两者的差别是:前者只能建立主设备号为10的设备文件,使用不够灵活,而后者课建立其它设备号的设备文件,而 ...
分类:
移动开发 时间:
2016-06-06 11:56:47
阅读次数:
283
在第六章中,作者以一个实例来讲述驱动开发的过程。首先要知道,驱动开发的八个基本步骤:首先要建立一个驱动骨架,即module_init和module_exit,注册和注销设备文件,制定与驱动信息相关的信息,制定回调函数,编写业务逻辑,编写Makefile文件,编译linux驱动程序,安装和卸载linu ...
分类:
移动开发 时间:
2016-06-06 11:56:24
阅读次数:
142
在第四章中,介绍的是安卓应用程序开发环境和linux内核开发环境。这两套开发环境都是linux开发和测试的前提。有了两套开发环境,接下来就应该考虑,测试好的linux驱动应该在哪里运行,运行环境是什么。这也就是第五章的内容。 当一个已经完成测试的linux驱动放到一块开发板上时,开发板也同样要有一个 ...
分类:
移动开发 时间:
2016-06-06 11:54:43
阅读次数:
264
inux驱动程序与其他类型的Linux程序一样,也有自己的规则。对于刚开始接触Linux驱动开发的读者 可能对如何开发一个LInux驱动程序还不是太了解。为了解决这部分读者的困惑,本节给出了编写一个基本的Linux驱动的一般步骤。读者可以按着这些步 骤循序渐进地学习Linux驱动开发。 第1步:建立 ...
分类:
系统相关 时间:
2016-06-06 11:52:26
阅读次数:
136
Android深度探索(卷1)HAL与驱动开发读书笔记 第五章的搭建S3C6410开发板的测试环境可以划分为以下几部分: 1使用cdev_init初始化cdev 2指定设备号 3使用cdev_add函数将字符设备添加到内核中的字符设备组中 4使用class_creat宏创建struct class ...
分类:
移动开发 时间:
2016-06-06 10:21:52
阅读次数:
165