摘要: 并发(concurrency)指的是多个执行单元同时、并行被执行。而并发的执行单元对共享资 源〈如硬件资摞、程序中的全局变量、静态变量等〉的访问很容易导致竞态条件( race conditions)。例如,有一个设备文件。进程 A 向该个设备文件写入 1000 个“a飞而进程 B 向 设备文件写入了 阅读全文
posted @ 2016-06-25 22:22 从前以後。 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 在 Linux 文件系统中, /proc 经常被用来作为内核空间与用户空间进行数据交=EE的工具。/proc 文件系统的行为方式与设备文件系统 C/dev)类似。/proc 是虚拟文件系统,也就是说了 /proc 并不 是真正的文件系统,而是内存映射。 所有读写/proc_l¥J操作都是对内存的读写 阅读全文
posted @ 2016-06-25 22:20 从前以後。 阅读(182) 评论(0) 推荐(0) 编辑
摘要: Linux.系统中Linux驱动一般有两种类型的代码:访问硬件寄存器的代码和业务逻辑有 码。对于访问硬件寄存器的代码,并没有什么秘密可言,因为这都是调用的 Linux 内核的标准函数〈如 io位ad32、 ·iowrite32等)进行的标准操作4 而Linux驱动的业务逻辑部分对击有些企业或个人并不 阅读全文
posted @ 2016-06-25 22:17 从前以後。 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 蜂鸣器是开发板上带的一个硬件设备,可以通过向寄存器写入特定的值来控制蜂鸣器发出尖叫声。LINUX驱动的代码重用有很多种方法,可以采用标准C程序的方式。将要重用的代码放在其他的文件中,如果要使用某些功能,include相应的头文件即可。也可以使用另外一种动态重用的方式,也就是一个LINUX驱动可以使用 阅读全文
posted @ 2016-06-03 10:58 从前以後。 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 尽管linux 驱动直接与硬件打交道,但并不是linux 驱动直接向硬件中的内存写数据,而是与本机的I/O内存进行交互。所谓I/O内存是通过各种接口连接到主机的硬件在主机内存中的映射。LED驱动与word-count驱动的实现步骤类似,只是某些功能使用了不同的实现方法。对于卸载LED驱动的设备文件需 阅读全文
posted @ 2016-06-03 10:57 从前以後。 阅读(116) 评论(0) 推荐(0) 编辑
摘要: Linux 驱动的工作方式和访问方式是其亮点之一,它将每一个驱动都映射成一个文件,这些文件称为设备文件或者驱动文件,都保存在/dev 目录下。这种设计理念使得与Linux驱动进行交互就像与普通文件进行交互一样容易。对于大多数Linux驱动都有与其对应的设备文件,因此与Linux驱动交换数据就变成了与 阅读全文
posted @ 2016-06-03 10:56 从前以後。 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 对于S3C6410开发板测试环境的搭建,首先要安装串口调试工具:第一部是检测当前系统是否支持USB转串口;第二步是安装minicom;第三步是配置minicom;第四步是测试minicom;接下来是烧写Android系统,但是在烧写之前,必须先启动Eboot擦除NandFlash.使用方法是:第一步 阅读全文
posted @ 2016-06-03 10:55 从前以後。 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 对于搭建Android开发环境,因为在测试Linux驱动时,需要Android应用程序以及Android NDK程序,所以搭建好Android开发环境也是很重要的。Android底层开发需要JDK、Eclipse、ADT、CDT等等工具。 首先简单介绍了JDK的安装,第一步是下载其安装压缩包,第二步 阅读全文
posted @ 2016-04-27 19:12 从前以後。 阅读(68) 评论(0) 推荐(0) 编辑
摘要: Git是一款免费开源的分布式版本控制系统,可以敏捷高效地处理任何或小或大的项目。同时是为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 和其他版本控制系统的主要差别在于,Git 关心的是文件数据的整体是否发生变化,而其他系统关心的是文件内容的具体差异。 那么Linux和A 阅读全文
posted @ 2016-04-27 19:12 从前以後。 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 对于Android源代码的下载和移植开发,如果用户只需要其中的一部分代码,这时并不需要全部下载将近4GB的代码,而只需熟悉其源代码的目录结构,选择自己需要的代码去目录下找到并下载。 对于Android源代码的编译问题,首先要初始化编译环境,使用Lunch命令来设置一个编译目标,再执行make命令就可 阅读全文
posted @ 2016-04-27 19:12 从前以後。 阅读(129) 评论(0) 推荐(0) 编辑