自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 Linux设备驱动--------platform虚拟总线

一、platform总线引入的目的    自内核2.6版本开始,需要关注的是总线、设备和驱动这3个实体,总线将设备和驱动绑定。在Linux内核系统中注册一个设备的时候,会寻找与之对应驱动进行匹配;相反地,系统中注册一个驱动的时候,会去寻找一个对应的设备进行匹配。匹配的的工作由总线来完成。       将设备和驱动独立开,驱动尽可能写的通用,当来了一个类似的设备1后也可以使用这个驱动

2017-10-26 10:34:43 927

转载 I2C总线时序解析

一、协议 1.空闲状态  I2C总线总线的SDA和SCL两条信号线同时处于高电平时,规定为总线的空闲状态。此时各个器件的输出级场效应管均处在截止状态,即释放总线,由两条信号线各自的上拉电阻把电平拉高。 2.起始位与停止位的定义: 起始信号:当SCL为高期间,SDA由高到低的跳变;启动信号是一种电平跳变时序信号,而不是一个电平信号。停止信号:当SCL为高期间,SDA由低到高的

2017-09-27 10:09:49 825

转载 关于中断上下文

我在看《linux内核设计与实现》这本书的第三章进程管理时候,看到进程上下文。书中说当一个程序执行了系统调用或者触发某个异常(软中断),此时就会陷入内核空间,内核此时代表进程执行,并处于进程上下文中。看后还是没有弄清楚,什么是进程上下文,如何上google上面狂搜一把,总结如下:  程序在执行过程中通常有用户态和内核态两种状态,CPU对处于内核态根据上下文环境进一步细分,因此有了下面三种状态:

2017-07-11 17:33:38 685

转载 dd命令使用详解

1.命令简介 dd 的主要选项:指定数字的地方若以下列字符结尾乘以相应的数字:b=512, c=1, k=1024, w=2, xm=number mif=file #输入文件名,缺省为标准输入。 of=file #输出文件名,缺省为标准输出。 ibs=bytes #一次读入 bytes 个字节(即一个块大小为 bytes 个字节)。 obs=bytes #

2017-06-12 09:21:41 661

转载 Linux内核镜像

内核编译(make)之后会生成两个文件,一个Image,一个zImage,其中Image为内核映像文件,而zImage为内核的一种映像压缩文件,Image大约为4M,而zImage不到2M。    那么uImage又是什么的?它是uboot专用的映像文件,它是在zImage之前加上一个长度为64字节的“头”,说明这个内核的版本、加载位置、生成时间、大小等信息;其0x40之后与zImage没

2017-05-23 16:42:31 6129

转载 Linux mtd 驱动

转载于:http://blog.csdn.net/lwj103862095/article/details/21545791#commentsMTD,Memory Technology Device即内存技术设备,在Linux内核中,引入MTD层为NOR FLASH和NAND FLASH设备提供统一接口。MTD将文件系统与底层FLASH存储器进行了隔离。如上图所示,MT

2017-05-23 15:13:56 400

转载 u-boot FIT image介绍

1. 前言Linux kernel在ARM架构中引入device tree(全称是flattened device tree,后续将会以FDT代称)的时候[1],其实怀揣了一个Unify Kernel的梦想----同一个Image,可以支持多个不同的平台。随着新的ARM64架构将FDT列为必选项,并将和体系结构有关的代码剥离之后,这个梦想已经接近实现:在编译linux ke

2017-05-23 10:38:27 574

转载 ubuntu14.04下多个GCC版本的切换

Ubuntu系统使用的gcc版本随着发布版本的不同而不同,在编译Android系统时不同的版本推荐用不同的gcc去编译,那么可不可以改变系统的gcc来适应android编译环境的需求呢?答案是可以的。 先看看我们系统用的gcc和g++是什么版本 gcc -v 可以获得的信息如下 gcc version 4.8.2  如果我们想使用gcc4.4怎么办?首先看看

2017-05-04 17:06:06 597

转载 Linux下生成patch和打patch

通过diff工具生成补丁, patch工具打上补丁.在使用diff之前, 你需要保留一份未修改过的源码, 然后在其它地方修改源码的一份拷贝. diff对比这两份源码生成patch. 修改过的源码必须保留原来的文件名, 例如, 如果你修改源码中的a.c文件, 那么, 修改后的文件还是名为a.c, 在修改之前你可以复制a.c为a.orig.c进行备份.1.为单个文件生成补丁

2017-05-04 17:04:07 422

原创 CSS相关重点总结

层叠次序当同一个 HTML 元素被不止一个样式定义时,会使用哪个样式呢?一般而言,所有的样式会根据下面的规则层叠于一个新的虚拟样式表中,其中数字 4 拥有最高的优先权。浏览器缺省设置外部样式表内部样式表(位于 标签内部)内联样式(在 HTML 元素内部)

2017-04-24 14:15:06 219

转载 Linux启动流程以及初始化

首先,不同发行版的Linux启动流程和脚本是略微不太不一样,但是大同小异。以下是redhat的启动1、加载内核2、内核执行,相关驱动的初始化、注册等3、执行init程序,最开始的程序4、由init程序去执行第一个脚本/etc/rc.d/rc.sysinit (较长,没有具体分析) /etc/rc.d/rc $RUNLEVEL # $RUNLEVEL为缺省的运行模式

2017-04-24 10:52:10 257

转载 压缩解压缩

Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩了,所以首先就来讲讲tar命令的基本用法:   tar命令的选项有很多(用man tar可以查看到),但常用的就那么几个选项,下面 来举例说明一下:   # tar -cf all.tar *.jpg

2017-03-21 09:26:28 189

转载 grub2详解

大约2002年左右,Yoshinori K. Okuji在PUPA重写了GRUB,使他更清晰,安全,健壮,更强大,PUPA最后把他重命名为GRUB2,把原来版本的grub命名为GRUB Legacy,2005年发行了grub legacy(0.97),2007 GNU/Linux 开始在小范围内使用GRUB2,到2009年底大多数主要的发行版都开始默认安装GRUB2。     虽然grub

2017-03-03 14:59:20 6520

转载 安装CentOS

原文:  http://easior.is-programmer.com/posts/40815.htmlCentOS是一款基于 Red Hat Enterprise Linux提供的可自由使用源代码的企业级 Linux发行版本。作为服务器的工作环境,相对于其他Linux发行版,它的稳定性是值得信赖的。CentOS的安装方式也非常的多样,例如用 CentOS光盘镜像开启图形或文

2017-03-03 10:28:38 1448

转载 GRUB2配置文件"grub.cfg"详解(GRUB2实战手册)

GRUB2配置文件"grub.cfg"详解(GRUB2实战手册)作者:金步国版权声明本文作者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布。无担保:本文作者不保证作品内容准确无误,亦不承担任何由于使用此文档所导致的损失。自由使用:任何人都可以自由的阅读/链接/打印此文档,无需任何附加条件。名誉权:任何人都可以自由的转载/引用/再创作此文档,但必须保

2017-02-23 15:14:02 2865

转载 linux下制作启动盘

进不了系统了,里面的数据很重要,为了把硬盘中的数据进行恢复,想了多个办法,当然很多办法是可行的,比如把硬盘拿下来挂在另一个linux系统上,把数据考出来;比如跳过控制台进入系统进行考数据。后来我就想制作一个U盘启动的linux系统,以后做些东西就比较方便了,所以就研究了两个小时,下面是制作的过程,以供大家分享。在进行mknod时,着实看了不少的英语文档,后来终于明白了。  一.对U盘进行处理

2017-02-22 15:57:24 298

转载 CentOS6.5升级内核到4.0.0

[转载]  4月12日,Linux内核4.0正式发布 主要更新内容如下:新增“实时内核补丁”。无需重启,实时修补内核。该特性由 Red Hat的Kpatch 和 SUSE 的 kGraft 合并形成。改进硬件支持。新增对Intel Quark SoC 以及更多 ARM设备的支持,改进对IBM z13的支持。  为(xian)了(de)尝(dan)鲜(teng),将CentOS6.5升级

2017-02-21 16:20:52 793

转载 Linux中安装GRUB的两种方式

GRUB 的安装方式两种     我们都知道在操作系统启动过程中有 一个很重要的引导程序——MBR。MBR是由三段组成的其中最重要的两段:是由446个字节组成的boot locader(引导加载器),和64个字节的分区表。在MBR的446字节也就是boot locader这段程序对于引导操作系统很重要。Linux中有两种boot locader可选,一种是LILO,一种就是GRUB。LIL

2017-02-20 10:19:53 6922

转载 Linux内核抢占实现机制

Linux内核抢占实现机制分析 Linux内核抢占实现机制分析 Sailor_forever  [email protected] 转载请注明http://blog.csdn.NET/sailor_8318/archive/2008/09/03/2870184.aspx 【摘要】本文详解了Linux内核抢占实现机制。首先介绍了内核抢占和用户

2016-12-28 16:19:10 394

转载 iOS游戏开始者从零开始:6个月的学习编程经历

这是一个毫无编程经验的菜鸟在成长为 iOS 游戏开发者后,总结的成长史。短短6个月间,他从 Python 入门,发展到给 Mac 开发小游戏,再到自学Objective-C 和 Cocos2d。     这是一个毫无编程经验的“菜鸟”在成长为 iOS 游戏开发者后,总结的成长史。短短6个月间,他从 Python 入门,发展到给 Mac 开发小游戏,再到自学 Objective-

2016-12-20 10:42:20 13921

转载 linux锁机制

在Linux内核中,有很多同步机制。比较经典的有原子操作、spin_lock(忙等待的锁)、mutex(互斥锁)、semaphore(信号量)等。并且它们几乎都有对应的rw_XXX(读写锁),以便在能够区分读与写的情况下,让读操作相互不互斥(读写、写写依然互斥)。而seqlock和rcu应该可以不算在经典之列,它们是两种比较有意思的同步机制。atomic(原子操作):所谓原子操作,

2016-12-20 09:57:50 378

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除