linux驱动学习
文章平均质量分 79
bugaosuonia
这个作者很懒,什么都没留下…
展开
-
字符设备驱动学习
字符设备驱动的学习1.首先介绍几个重要的结构体:1.1 cdev结构体描述字符设备Struct cdev{ struct kobject kobj; /*内嵌的kobject对象*/ sruct module *owner; /*所属模块*/ struct file_operations *ops; //文件操作结构体 St原创 2013-11-01 19:28:45 · 456 阅读 · 0 评论 -
浅谈Linux内存管理机制
浅谈Linux内存管理机制经常遇到一些刚接触Linux的新手会问内存占用怎么那么多?原文:http://os.51cto.com/art/201309/411937.htm在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然。这是Linux内存管理的一个优秀特性,在这方面,区别于Windows的内存管理。主要转载 2014-03-31 13:39:25 · 616 阅读 · 0 评论 -
Linux下定义Windows常用数据类型
最近将一个Windows程序移植到Linux上,发现两个操作系统对很多数据类型的命名方式区别很大,比如Windows下对于无符号数据类型一般用U+x的方式,像UINT、UCHAR、ULONG,而Linux上就要中规中矩,都是unsigned +x;另外,还有一些数据类型是Windows有,而Linux没有的,像DWORD、HANDLE、LPSTR等等。于是我写了一个Windows数据类型在Linu转载 2013-12-13 15:45:34 · 472 阅读 · 0 评论 -
Linux下的压缩解压缩命令详解
Linux下的压缩解压缩命令详解发布时间:2009-12-13 16:05:33 来源:PHP100中文网 评论:0 点击: 次 【字号:大中 小】QQ空间新浪微博 腾讯微博 人人网 豆瓣网 百度空间 百度搜藏 开心网 复制 更多73linux zip命令 zip -r myfile.zip ./* 将当前目录下的所有文件和文件夹全部转载 2013-12-13 21:45:36 · 418 阅读 · 0 评论 -
DMA映射 dma_addr_t
DMA映射一个DMA映射是要分配的DMA缓冲区与为该缓冲区生成的、设备可访问地址的组合。DMA映射建立了一个新的结构类型---dma_addr_t来表示总线地址。dma_addr_t类型的变量对驱动程序是不透明的,唯一允许的操作是将它们传递给DMA支持例程以及设备本身。根据DMA缓冲区期望保留的时间长短,PCI代码有两种DMA映射:1)一致性映射2)流式转载 2013-11-14 20:56:45 · 5365 阅读 · 0 评论 -
linux内核编译,不panic
搞了一个星期了,一直都panic,按着这篇文章做了之后就没了。原文:http://www.west263.com/info/html/wangzhanyunying/jianzhanjingyan/20080417/70717_2.html 菜鸟编译Linux内核 双眼皮的猪 菜鸟俺,最近研究了一下Linux内核的编译,有些许心得,望转载 2013-11-26 19:14:02 · 479 阅读 · 0 评论 -
用U盘通过局域网来安装CentOS 6.0
用U盘通过局域网来安装CentOS 6.0 2012-02-11 21:06:57| 分类:rhel自动安装 | 标签: |字号大中小 订阅教程引言:实现目的:用U盘通过局域网来安装CentOS 6.0适用范围:有2台电脑,并且能组建成局域网,要安装CentOS 6.0的电脑支持U盘启动。(此方法比较适合IDC机房给客户机器装机,无需刻转载 2013-11-11 22:34:08 · 610 阅读 · 0 评论 -
linux ioctl()函数
我这里说的ioctl函数是指驱动程序里的,因为我不知道还有没有别的场合用到了它,所以就规定了我们讨论的范围。写这篇文章是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑。一、 什么是ioctl ioctl是设备驱动程序中对设备的I/O通道进行管理的函数 。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。它转载 2013-11-25 14:59:20 · 567 阅读 · 0 评论 -
ubuntu下安装QT
一。ubuntu系统装好官网:http://qt.digia.com/http://qt-project.org/downloads里面下载下面2个文件①:qt-everywhere-opensource-src-4.8.5.tar.gz②:qt-creator-linux-x86-opensource-2.8.1.run打开/usr/include/X11里面 看有没有相应的原创 2013-11-18 16:17:48 · 919 阅读 · 0 评论 -
container_of宏定义分析 浅显易懂!
原文:http://www.cnitblog.com/puppypyb/archive/2008/08/20/48172.aspxlinux内核container_of宏定义分析一、#define offsetof(TYPE, MEMBER) ((size_t) & ((TYPE *)0)->MEMBER )1. ( (TYPE *)0 ) 将零转型为TYP转载 2013-11-23 16:13:03 · 532 阅读 · 0 评论 -
Linux设备驱动之内存映射
Linux设备驱动之内存映射 [日期:2011-04-11] 来源:Linux社区 作者:chenjin_zhong 1. 内存映射 所谓的内存映射就是把物理内存映射到进程的地址空间之内,这些应用程序就可以直接使用输入输出的地址空间,从而提高读写的效率。Linux提供了mmap()函数,用来映射物理内存。 在驱动程序中,应用程序以设备文件为对象,调用mmap()函数,内核进行转载 2013-11-22 15:19:20 · 612 阅读 · 0 评论 -
linux内存管理浅析
原文:http://hi.baidu.com/_kouu/item/4c73532902a05299b73263d0linux内存管理浅析[地址映射](图:左中)linux内核使用页式内存管理,应用程序给出的内存地址是虚拟地址,它需要经过若干级页表一级一级的变换,才变成真正的物理地址。想一下,地址映射还是一件很恐怖的事情。当访问一个由虚拟地址表示的内存空间时,需要先转载 2013-11-21 16:54:01 · 600 阅读 · 0 评论 -
驱动总结之mmap函数实现
原文地址:驱动总结之mmap函数实现 作者:gongping11mmap作为struct file_operations的重要一个元素,mmap主要是实现物理内存到虚拟内存的映射关系,这样可以实现直接访问虚拟内存,而不用使用设备相关的read、write操作,mmap的基本过程是将文件映射到虚拟内存中。在之前的一篇博客中谈到了mmap实现文件复制的操作。关于li转载 2013-11-21 16:14:38 · 3020 阅读 · 1 评论 -
mmap
自:http://hi.baidu.com/flying5/blog 不错的博客,大家可以去看看Linux的mmap文件内存映射机制mmap: memory map在讲述文件映射的概念时, 不可避免的要牵涉到虚存(SVR 4的VM). 实际上, 文件映射是虚存的中心概念, 文件映射一方面给用户提供了一组措施, 好似用户将文件映射到自己地址空间的某个部分, 使用简单的转载 2013-11-21 14:55:47 · 602 阅读 · 0 评论 -
Linux下和编译器、程序的运行、环境变量等相关的常见问题
索引:(1) Linux下环境变量相关的问题(2) Linux下GNU工具链相关的问题(GNU Toolchain)(gcc/g++/ld/make等等工具)(3) Linux下可执行文件的格式(主要是ELF格式,还有a.out/coff等)和可执行文件的加载(4) 可执行程序执行加载动态库的搜索路径问题Linux编译环境变量(LD_LIBRARY_PATH。。。)ht转载 2013-11-18 16:40:31 · 1786 阅读 · 0 评论 -
进程地址空间管理总结
前边我已经说过了内核是如何管理物理内存。但事实是内核是操作系统的核心,不光管理本身的内存,还要管理进程的地址空间。linux操作系统采用虚拟内存技术,所有进程之间以虚拟方式共享内存。进程地址空间由每个进程中的线性地址区组成,而且更为重要的特点是内核允许进程使用该空间中的地址。通常情况况下,每个进程都有唯一的地址空间,而且进程地址空间之间彼此互不相干。但是进程之间也可以选择共享地址空间,这样的进程就转载 2013-11-18 21:36:24 · 684 阅读 · 0 评论 -
struct vm_area_struct
原文:http://blog.csdn.net/ywf861029/article/details/6114794Linux内核中,关于虚存管理的最基本的管理单元应该是struct vm_area_struct了,它描述的是一段连续的、具有相同访问属性的虚存空间,该虚存空间的大小为物理内存页面的整数倍。 下面是struct vm_area_struct结构体的定义转载 2013-11-18 19:21:59 · 670 阅读 · 0 评论 -
linux中memcpy和strcpy的区别
linux中memcpy和strcpy的区别 2010-05-20 19:42:12| 分类: linux应用 | 标签:strcpy、memcpy |字号 订阅strcpy是拷贝字符串,以\0为标志结束(即一旦遇到数据值为0的内存地址拷贝过程即停止)strcpy的原型为:char *strcpy(char *dest, const ch转载 2013-11-17 14:50:38 · 606 阅读 · 0 评论 -
Linux的内存管理主要分为两部分:物理地址到虚拟地址的映射,内核内存分配管理(主要基于slab)。
Linux的内存管理主要分为两部分:物理地址到虚拟地址的映射,内核内存分配管理(主要基于slab)。物理地址到虚拟地址之间的映射1、概念 物理地址(physical address) 用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。——这个概念应该是这几个概念中最好理解的一个,但是值得一提的是,虽然可以直接把物理地址理解成插在机器上那根内存本转载 2014-04-02 16:40:03 · 2652 阅读 · 0 评论