![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux kernel
文章平均质量分 72
upupwhy
这个作者很懒,什么都没留下…
展开
-
地址空间、内核空间、IO地址空间
http://blog.csdn.net/sweety_0628/article/details/7179392 有这么一系列的问题,是否在困扰着你:用户程序编译连接形成的地址空间在什么范围内?内核编译后地址空间在什么范围内?要对外设进行访问,I/O的地址空间又是什么样的?先 回答第一个问题。Linux最常见的可执行文件格式为elf(Executable and LinkableF转载 2014-11-26 20:27:40 · 1478 阅读 · 0 评论 -
dump_stack分析与应用
一、dump_stack(堆栈转储)作用:主要用于内核调试,打印内核堆栈段信息。使用dump_stack在driver开发期间清晰查看内核中函数调用流程二、使用前便已内核时:使用前,先在内核配置中把kernel debug选上: make menuconfig:kernel hacking-->kernel debug三、arch/x86/kernel/dumpstack.c转载 2014-12-25 09:02:17 · 1679 阅读 · 0 评论 -
Linux下/proc目录简介
1. /proc目录Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文转载 2014-12-04 21:03:53 · 418 阅读 · 0 评论 -
Linux驱动中的platform
**********************************************************************************************http://www.chineselinuxuniversity.net/articles/49421.shtml从Linux2.6内核起,引入一套新的驱动管理和注册机制:platform_device转载 2015-01-07 15:39:49 · 412 阅读 · 0 评论 -
uboot启动阶段修改启动参数方法及分析
uboot启动阶段修改启动参数方法及分析作者:围补本来启动方式这节不是什么复杂的事儿,不过想简单的说清楚明白,还真是不知道怎么组织。毕竟文字跟有声语言表达有别。但愿简单的东西别让我讲的太复杂!Arm板系统文件一般有三个——bootloader(uboot)、kernel(uImage)及根文件系统(rootfs)。在arm板上电后,按uboot->kernel->roo转载 2014-12-16 20:18:27 · 486 阅读 · 0 评论 -
浅谈Linux内核和CPU架构
Linux由用户空间和内核两部分组成,之所以有这两部分构成,我想应该是由于考虑CPU体系结构嵌入式ARM处理器有七种工作状态,分别是用户模式、快速中断、外部中断、管理模式、数据访问终止模式、系统模式和为定义指令模式,而X86体系结构的CPU则有RING0~RING3 四种工作模式,这些工作模式是有权限限制的,例如在访问IO设备上Linux利用CPU这中架构,用户空间和内核空间分别工作在转载 2014-11-06 14:21:18 · 1934 阅读 · 0 评论 -
/sys/bus/i2c/devices下的内容与i2c_board_info结构体
在目录/sys/bus/i2c/devices下能发现系统中的I2C设备,如下:view plaincopy to clipboardprint?# ls 0-0034 0-0030 0-0011 0-0058 # ls0-00340-00300-00110-0058 这些设备就是系统中存在的设备。这些设备是怎么来的?在你对转载 2014-11-27 15:52:58 · 763 阅读 · 0 评论 -
为什么要构造内核源码树?编写驱动时必须简历内核树吗?
问:编写驱程序必须建立内核树网查要先载内核源码进行编译内核源码树指我电脑明明装linux要载源码(都已经安装完)进行编译呢已经载新源码编译本机已经安装linux系统影响刚刚接触linux麻烦知道朋友帮忙介绍内核源码树电脑已经安装linux区别呢转载 2014-09-29 20:38:19 · 913 阅读 · 0 评论 -
read和write系统调用
http://blog.chinaunix.net/space.php?uid=12567959&do=blog&id=161002read()和write()系统调用 read()和write()系统调用非常相似。它们都需要三个参数:一个文件描述符fd,一个内存区的地址buf(该缓冲区包含接受的数据或者要传送的数据的存放位置),以及一个数count(指定应该传送多少字节)。两个系统调转载 2014-10-09 16:21:54 · 1133 阅读 · 0 评论 -
linux内核之文件系统
linux内核之文件系统 作者:harvey wang 邮箱:harvey.perfect@gmail.com 本文主要是基于百度文库的《Linux2.4.30内核文件系统学习(多图).doc》和360doc的《Linux内核虚拟文件系统》修改而来,当然还参考了其他的一些文档,在此就不一一列出了。本来在看到这些文章后,都没有勇气再写点文件系统方面的东西了,这些文转载 2014-10-29 20:00:09 · 382 阅读 · 0 评论 -
linux内核空间和用户空间的是怎样区别的,如何交互,如何从用户空间进入内核空间
linux驱动程序一般工作在内核空间,但也可以工作在用户空间。下面我们将详细解析,什么是内核空间,什么是用户空间,以及如何判断他们。 Linux简化了分段机制,使得虚拟地址与线性地址总是一致,因此,Linux的虚拟地址空间也为0~4G.Linux内核将这4G字节的空间分为两部分。将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为"内核空间".而将较转载 2014-11-05 09:54:03 · 488 阅读 · 0 评论 -
gpio_request()
今天再次学习SD卡驱动,遇到gpio_request这个函数,始终不知道其什么意思,看了几遍源代码才有了点感觉。现将其关键部分再此说明一下,以备自己以后复习,或是路客参考。 一般gpio_request封装了mem_request(),起保护作用,最后要调用mem_free之类的。主要是告诉内核这地址被占用了。当其它地方调用同一地址的gpio_request就会报告错误,该地址已被申请。在转载 2014-12-25 10:39:54 · 3052 阅读 · 4 评论