发布时间:2015-01-06 13:58:13
获知当前时间内核代码能一直获取一个当前时间的表示, 通过查看 jifies 的值. 常常地, 这个值只代表从最后一次启动以来的时间, 这个事实对驱动来说无关, 因为它的生命周期受限于系统的 uptime. 如所示, 驱动可以使用 jiffies 的当前值来计算事件之间的时间间隔(例如, 在输入驱动中从单击中区分双击或者计算超时)..........【阅读全文】
发布时间:2014-07-11 20:49:43
在Makefile中我们经常看到 = := ?= +=这几个赋值运算符,那么他们有什么区别呢?我们来做个简单的实验新建一个Makefile,内容为:ifdef DEFINE_VRE VRE = “Hello World!”elseendififeq ($(OPT),define) VRE ?= “Hello World! First!”endififeq.........【阅读全文】
发布时间:2014-01-13 10:51:32
简介device tree是linux 3.x开始使用的加载硬件资源的方式,这里说的硬件资源既包括片上的诸如GPIO、PWM、I2C、ADC等资源,也包括外部拓展的如FLASH、LCD等。device tree主要作用是将某个硬件外设与相应的驱动程序进行绑定,关于它在实际使用中的地位可以参考我的日志《嵌入式linux如何操作硬件》。使用时首先需.........【阅读全文】
发布时间:2013-12-18 16:46:59
如何编译一个名字叫做test.c的模块。 首先,我们需要写一个简单的Makefile文件: obj-m += test.o 将test.c和Makefile文件放在同一个目录下,然后就可以开始编译了,使用编译命令: make -C /home/xxl/AM335x/k.........【阅读全文】
发布时间:2013-12-15 15:59:33
在init.h 中有如下定义 #define pure_initcall(fn) __define_initcall("0",fn,1)#define core_initcall(fn) __define_initcall("1",fn,1)#define core_initcall_sync(fn) __define_initcall("1s",fn,1s)#define postcore_initcall(fn) __define_initcall.........【阅读全文】