
Linux
文章平均质量分 57
吉祥zqy
这个作者很懒,什么都没留下…
展开
-
linux根文件解析
文件系统:简单的说就是一种目录结构,由于linux操作系统的设备在系统中是以文件的形式存在,将这些文件进行分类管理以及提供和内核交互的接口,就形成一定的目录结构也就是文件系统,文件系统是为用户反映系统的一种形式,为用户提供一个检测控制系统的接口。根文件系统:根文件系统就是一种特殊的文件系统,那么根文件系统和普通的文件系统有什么区别呢?由于根文件系统是内核启动时挂载的第一个文件系统,那么根文原创 2014-04-09 10:36:37 · 496 阅读 · 0 评论 -
printk
printk1概述对于做嵌入式或者熟悉linux内核的人来说,对printk这个函数一定不会感到陌生。printk相当于printf的孪生姐妹,她们一个运行在用户态,另一个则在内核态被人们所熟知。printk是在内核中运行的向控制台输出显示的函数,Linux内核首先在内核空间分配一个静态缓冲区,作为显示用的空间,然后调用sprintf,格式化显示字符串,最后调用tty_write向终端进行信原创 2014-04-09 10:37:00 · 585 阅读 · 0 评论 -
关于unlocked_ioctl。
为了把BKL从内核中慢慢去掉,加入了unlocked_ioctl,但是有很多地方都用到ioctl,所以一直保留着,直到b19dd42f的时候,最后移除了所有对ioctl的使用,才把ioctl从file_operations里面去掉。 所以现在内核里应该使用unlocked_ioctl。 在应用程序里面不能用unlocked_ioctl,因为系统调用ioctl是没有改变的,还是原原创 2014-04-09 10:37:11 · 1822 阅读 · 0 评论 -
linux文件属性
zqy@zqy-Rev-1-0:~$ ls -al总用量 21288drwxr-xr-x 38 zqy zqy 4096 4月 15 12:07 .drwxr-xr-x 3 root root 4096 10月 12 2013 ..drwx------ 3 zqy zqy 4096 10月 15 22:57 .adobedrwx-----原创 2014-04-15 13:05:56 · 617 阅读 · 0 评论 -
/proc——虚拟文件系统
/proc文件系统是一种内核和内核模块yong原创 2014-04-15 21:54:47 · 1049 阅读 · 0 评论 -
linux设备驱动中file_operations结…
linux设备驱动中file_operations结构体分析 struct module*owner第 一个 file_operations 成员根本不是一个操作; 它是一个指向拥有这个结构的模块的指针.这个成员用来在它的操作还在被使用时阻止模块被卸载. 几乎所有时间中, 它被简单初始化为 THIS_MODULE, 一个在中定义的宏.loff_t (*llseek) (stru转载 2014-04-09 10:37:02 · 583 阅读 · 0 评论 -
QT QTX11架构 QT/E
转自:http://blog.youkuaiyun.com/jingzhesiye/article/details/7857622Qt授权分为商业版和开源版。如果使用商业版的Qt,那么开发出的程序可以是私有的和商业的;如果使用的是开源版的Qt,由于其使用的是GPL协议,那么可发出的程序也必须是GPL的。不过自从qt4.5.0版本,诺基亚公司使用了LGPL协议,那么写出的程序就可以据为己有了!Qt 的转载 2014-04-09 10:36:52 · 1495 阅读 · 0 评论 -
关于linux-g++和arm-linux-g++
首先,二者并不是一个东西,二者所使用的lib是不同的。arm-linux-g++是交叉编译工具,用于arm板程序设计。对于交叉编译,我的理解就是在宿主机上设计出arm板上的程序,如果不使用qvfb工具,用其编译的二进制可执行文件在pc机上是无法运行的。linux-g++是编译在pc端可运行的程序,其编译出的二进制可执行文件同样无法在arm板上运行,会提示无法执行二进制文件。下图是我用fi原创 2014-04-09 10:36:54 · 4002 阅读 · 0 评论 -
隐式声明函数kfree
驱动程序make时出现以下错误:/home/zqy/文档/char/demo.c: 在函数‘DEMO_cleanup_module’中:/home/zqy/文档/char/demo.c:161:3: 错误: 隐式声明函数‘kfree’[-Werror=implicit-function-declaration]/home/zqy/文档/char/demo.c: 在函数‘DEMO_init_原创 2014-04-09 10:37:09 · 1859 阅读 · 0 评论 -
GDB调试程序
用GDB调试程序GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能: 1、启动你的原创 2014-04-09 10:37:43 · 901 阅读 · 0 评论 -
linux设备驱动makefile文件
ifeq ($(KERNELRELEASE),) KERNELDIR?= /home/linux/linux-2.6.22.6 PWD:= $(shell pwd) modules: $(MAKE)-C $(KERNELDIR) M=$(PWD) modules modules_install:原创 2014-04-09 10:37:28 · 619 阅读 · 0 评论 -
【转】Linux2.6内核驱动与2.4的区…
随着Linux2.6的发布,由于2.6内核做了新的改动,各个设备的驱动程序在不同程度上要进行改写。为了方便各位Linux爱好者我把自己整理的这分文档share出来。该文当列举了2.6内核同以前版本的绝大多数变化,可惜的是由于时间和精力有限没有详细列出各个函数的用法。1、 使用新的入口必须包含module_init(your_init_func);module_exit(your_exi转载 2014-04-09 10:37:33 · 681 阅读 · 0 评论 -
进程和线程
首先让我们了解下异常机制。转载 2014-04-15 19:07:14 · 612 阅读 · 0 评论 -
sed流编辑器
sed是基于行的,按顺序对每一行执行命令,然后sed将其结果转载 2014-04-16 19:54:54 · 578 阅读 · 0 评论 -
中断和异常
一般提及zhongduanheyichang原创 2014-04-17 16:24:18 · 947 阅读 · 0 评论 -
unix进程通信
管道和FIFO(命名管道)原创 2014-04-17 15:32:43 · 714 阅读 · 0 评论 -
驱动编程小记
宏:__KERNEL__, MODULE,__VERSION____KERNEL__:表明这将是用于内核的代码,否则很多内核过程将无法使用。MODULE:如果是以模块方式编译,需要定义这个宏;__VERSION__:定义这个宏则需要驱动程序的内核版本要和内核版本一致。module_init()/module_exit():[spioc_init()/spioc_exit()]每个驱原创 2014-04-09 10:37:13 · 562 阅读 · 0 评论 -
网上找的linux内核编译各种资料
mv /home/zhb/Downloads/linux-2.6.38.4.tar.bz2/usr/srctar -xvflinux-2.6.38.4.tar.bz2 ##使用make install#一步到位或者继续使用下面的指令make mrproper #确保目录下没有不正确的.o文件和文件依赖make menuconfig #需要Ncures库支原创 2014-04-09 10:37:37 · 796 阅读 · 0 评论 -
关于linux块设备和字符设备的举例
字符设备:提供连续的数据流,应用程序可以顺序读取,通常不支持随机存取。相反此类设备支持按字节/字符来读写数据。举例来说,键盘是典型的字符设备。块设备:应用程序可以随机访问设备数据,程序可自行确定读取数据的位置。硬盘是典型的块设备,应用程序可以寻址磁盘上的任何位置,并由此读取数据。此外,数据的读写只能以块(通常是512B)的倍数进行。与字符设备不同,块设备并不支持基于字符的寻址。键盘这种设备原创 2014-04-09 10:37:31 · 1324 阅读 · 0 评论 -
linux终端显示内容不全的解决方案
我们在使用linux命令的时候,经常遇到一屏显示不够,这样前面的内容在终端下就看不到了。那如何使命令打印出的内容分页显示呢?利用管道技术将两个命令联系到一起就可以轻松的实现。 管道管道简单理解就是,使用管道意味着第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。利用Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符原创 2014-04-09 10:37:48 · 54580 阅读 · 0 评论 -
Makefile常用函数
函数在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能。make所支持的函数也不算很多,不过已经足够我们的操作了。函数调用后,函数的返回值可以当做变量来使用。函数的调用语法函数调用,很像变量的使用,也是以“$”来标识的,其语法如下: $( )或是 ${ }这里,就是函数名,make支持的函数不多。为函数的转载 2014-07-25 10:57:42 · 593 阅读 · 0 评论