Kernel
文章平均质量分 73
hp0773
这个作者很懒,什么都没留下…
展开
-
make常见错误
make执行过程中所产生错误并不都是致命的;特别是在命令行之前存在“-”、或者make使用“-k”选项执行时。make执行过程的致命错误都带有前缀字符串“***”。错误信息都有前缀,一种是执行程序名作为错误前缀(通常是“make”);另外一种是当Makefile本身存在语法错误无法被make解析并执行时,前缀包含了makefile文件名和出现错误的行号。在下述的错误列表中,省略了普通前缀:转载 2013-06-26 15:36:52 · 1115 阅读 · 0 评论 -
Linux错误码及说明
#define EPERM 1 /* Operation not permitted */#define ENOENT 2 /* No such file or directory */#define ESRCH 3 /* No such process */#define EINTR 4 /* Interrupted system call */#defi原创 2013-09-05 19:23:03 · 1032 阅读 · 0 评论 -
“BUG: sleeping function called from invalid context at ......”(might_sleep函数说明)
我们在调试Linux kernel驱动时经常会遇到如下LOG信息:[ 88.055297] BUG: sleeping function called from invalid context at ......这个错误就是在might_sleep函数中打印的,关于这个函数的说明,查了下资料归结如下:这个函数我在看代码时基本上是直接忽略的(因为我知道它实际上不干什么事),不原创 2013-10-12 23:53:08 · 13612 阅读 · 0 评论 -
linux设备驱动之总线、设备、驱动
linux设备驱动的难点在于复杂的,庞大的结构。理清楚结构和一个结构与另外结构的关系,以及linux设备驱动的层次性和层次封装抽象性。对于linux设备驱动的结构有点像C++中的类,而层次与抽象有点像继承的关系。一、总线、设备、驱动的主要三个结构关系structbus_type --------------------------------- struct bus_type转载 2015-07-18 11:00:35 · 595 阅读 · 0 评论 -
ARM Linux 3.x的设备树(Device Tree)
1. ARM Device Tree起源Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称“this whole ARM thing is a f*cking pain in the ass”,引发ARM Linux社区的地震,随后ARM社区进行了一系列的重大修正。在过去的ARM Linux中,arch/arm/plat-xxx和arch/arm/mach转载 2016-06-02 16:18:32 · 599 阅读 · 0 评论