内核基础
quyang0602
这个作者很懒,什么都没留下…
展开
-
建立内核模块编译环境
驱动开发使用的是mini2440的开发板,linux内核版本为linux-2.6.32.2首先解压linux源码,拷贝配置文件cp -f config_mini2440_w35 .config (否则会出现version magic '2.6.30.4 mod_unload modversions ARMv5 ' should be '2.6.30'的版本错误)Make cle转载 2012-03-27 17:39:14 · 812 阅读 · 0 评论 -
hello: module license 'unspecified' taints kernel.错误--编写内核模块意见
为了后续学习的顺利进行,我们利用最简单的helloworld程序,在内核上挂载和卸载我们自己编写的hello模块。一、编写hello.c文件利用vi编辑器,我们键入下面的代码,并保存为hello.c文件。/*** hello.c* ------Test for kernel module*/#i nclude #i nclude转载 2012-03-14 08:51:06 · 920 阅读 · 0 评论 -
驱动模块编译错误提示--implicit declaration of function ‘kmalloc’
编译一个驱动测试模块出现如下编译错误,make: Entering directory `/usr/src/kernels/2.6.35.6-45.fc14.i686' CC [M] /home/ty/development/driver/ch6/globalmem.o/home/ty/development/driver/ch6/globalmem.c: In function转载 2012-03-14 08:52:51 · 750 阅读 · 0 评论 -
rmmod: chdir(/lib/modules): No such file or directory 解决方法
使用rmmod会出现 rmmod : chdir(/lib/modules): No such file or directory ? 现在的内核模块在插入卸载时都会要转到 “/lib/modules/内核版本号/ ” 这个目录里。所以只要建立这个目录就行了。在目标板执行#mkdir -p /lib/modules/$(uname -r)较新版本的busybox 1.13.转载 2012-03-14 08:59:05 · 7175 阅读 · 0 评论 -
内核 线程和进程的区别
前言:从内核的角度来说,它并没有线程这个概念。Linux把所有线程都当做进程来实现。内核并没有准备特别的调度算法或者定义特别的数据结构来表示线程。相反,线程仅仅被视为一个与其他进程共享某些资源的进程。每个线程都拥有唯一属于自己的task_struct,所以在内核中,它看起来就像是一个普通的进程(只是该进程和其他一些进程共享某些资源,如地址空间)一.内核线程1.内核经常需要在后台转载 2013-05-14 15:38:12 · 715 阅读 · 0 评论