自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

兰宝的专栏

编程之美

  • 博客(20)
  • 收藏
  • 关注

原创 spin_lock_irqsave关中断后,为什么要再禁止抢占呢,不多余吗?

spin_lock_irqsave关中断后,为什么要再禁止抢占呢,不多余吗?static inline unsigned long __raw_spin_lock_irqsave(raw_spinlock_t *lock){        unsigned long flags;        local_irq_save(flags);        preempt_

2015-11-30 17:36:09 5839

转载 spin_lock_irqsave()中的flags初始化

在使用spin_lock_irqsave()时发现它的第2个参数没有初始化就直接传过去了,看着有些奇怪,就在网上搜了一下。起始应该看看代码的。。。。引用地址 http://www.linuxquestions.org/questions/programming-9/spin_lock_irqsave-365299/Hi guysvoid spin_lock_irqsave(spin

2015-11-30 17:00:50 4279

转载 Android.mk -- 解析

这里我们向Android中添加自己的模块,只涉及到.so/*.a/elf source的编译,以及如何将prebuiltfile添加进工程。对于APK以及jar的source暂时没有仔细研究,要添加进去的话可以参照/pacakge和/framework里面的Android.mk ~~     首先是可能用得到的基础知识,必须了解基础Makefile的语法,然后下面是Andriod用来编译相应模

2015-11-30 16:37:50 393

原创 [Power]待机电流问题,如何查找wakelock

FAQ Content 【step1-找kernel层的wakelock】 (1)先搜索从wake进入sleep的过程中打印出来的当前处于活动状态的wakelock关键字“print_active_wakeup_sources”,类似于下面这样的log: [print_active_wakeup_sources]: activity: Pow

2015-11-30 16:35:55 471

转载 Linux内核spin_lock、spin_lock_irq 和 spin_lock_irqsave 分析

在Linux内核中何时使用spin_lock,何时使用spin_lock_irqsave很容易混淆。首先看一下代码是如何实现的。spin_lock的调用关系     spin_lock             |           + ----->  raw_spin_lock [cpp] view plaincopy

2015-11-30 16:20:22 720

原创 linux kernel 中断子系统之(一)-- ARM GIC 硬件

一个系统中,中断是很重要的组成部分之一,有了中断,系统才可以不用一直轮询(polling)是否有事件发生,系统效率才得以提高,而且对中断的控制又通常分散在各个地方,不同的部分由不同功能的程序控制,做到了各司其职,配合无误,系统才能正常工作。一般系统中,中断控制分为三个地方:模块、中断控制器、处理器,模块通常有寄存器可以控制是否使能中断功能,中断触发条件等;中断控制器可以管理中断的优先级等,而处理所

2015-11-30 14:12:16 648

原创 linux驱动框架--hwmon学习

linux驱动中,hwmon越来越多的被使用,利用hwmon下的节点查看内核导出的信息非常方便,也用hwmon框架做了两个设备的驱动了,该梳理下,做为知识储备了。在3.4内核中,hwmon非常简单,对外只有一个函数:struct device *hwmon_device_register(struct device *dev),调用这个接口实现的hwmon设备,在/sys/class/hw

2015-11-30 14:10:32 1906

原创 linux中probe函数传递参数的寻找(下)

linux中probe函数传递参数的寻找(下)         通过追寻driver的脚步,我们有了努力的方向:只有找到spi_bus_type的填充device即可,下面该从device去打通,当两个连通之日,也是任督二脉打通之时。先从设备定义去查看,在mach-smdk6410.c中定义了硬件设备信息,从这作为突破口。/* for mx25lx*/static void

2015-11-30 14:09:37 337

转载 Android屏幕密度(Density)和分辨率的解释

移动设备有大有小,那么如何适应不同屏幕呢,这给我们编程人员造成了很多困惑。我也是突然想到这些问题,然后去网上搜搜相关东西,整理如下。首先,对下面这些长度单位必须了解。Android中的长度单位详解(dp、sp、px、in、pt、mm)      看到有很多网友不太理解dp、sp和px的区别:现在这里介绍一下dp和sp。dp也就是dip。这个和sp基本类似。如果设置表

2015-11-30 14:04:57 2983

转载 Android应用如何支持屏幕多尺寸多分辨率问题

作为Android应用程序开发者都知道android是一个“碎片化”的世界。多种系统版本、多种尺寸、多种分辨率、多种机型,还有不同的厂商定制的不同ROM,你开发的应用会在不可预期的手机上报错。这给开发适配带来不小的难度。这篇文章会告诉我们怎么解决这个问题。1、Android碎片化1.1、android系统版本Android更新较大的版本如下:

2015-11-30 14:02:56 297

转载 信号量---线程同步

以一个停车场的运作为例。简单起见,假设停车场只有三个车位,一开始三个车位都是空的。这时如果同时来了五辆车,看门人允许其中三辆直接进入,然后放下车拦,剩下的车则必须在入口等待,此后来的车也都不得不在入口处等待。这时,有一辆车离开停车场,看门人得知后,打开车拦,放入外面的一辆进去,如果又离开两辆,则又可以放入两辆,如此往复。在这个停车场系统中,车位是公共资源,每辆车好比一个线程,看门人起的就是信号

2015-11-30 11:58:31 328

转载 Linux开机启动(bootstrap) -转

计算机开机是一个神秘的过程。我们只是按了开机键,就看到屏幕上的进度条或者一行行的输出,直到我们到达登录界面。然而,计算机开机又是个异常脆弱的过程,我们满心期望的登录界面可能并不会出现,而是一个命令行或者错误信息。了解计算机开机过程有助于我们修复开机可能出现的问题。 最初始阶段当我们打开计算机电源,计算机会自动从主板的BIOS(Basic Input/Output Syste

2015-11-30 11:34:25 604

转载 linux里的进程命令

进程:正在执行的程序线程:(1)轻量级的进程(2)进程有独立的运行空间,线程没有(3)线程不能独立存在,它是由进程创建。(fork) 1、查看进程psps -aux : 比较详细 2、杀死进程kill 进程号 : 试着杀一杀,如果是关键进程的话,就会杀不死kill -9 进程号 : 强杀进程ki

2015-11-30 11:33:24 304

转载 linux 任务调度命令

任务调度,有点类似于任务计划  1、设置任务。    crontab -e2、我希望每隔一时间去执行         如果希望每分钟去执行:    可以在crontab -e中加入    * * * * * date >> /home/mydate1 3、怎样去调度多个任务       

2015-11-30 11:31:39 778

转载 Linux中的内存管理基础-转

前一段时间看了《深入理解Linux内核》对其中的内存管理部分花了不少时间,但是还是有很多问题不是很清楚,最近又花了一些时间复习了一下,在这里记录下自己的理解和对Linux中内存管理的一些看法和认识。我比较喜欢搞清楚一个技术本身的发展历程,简而言之就是这个技术是怎么发展而来的,在这个技术之前存在哪些技术,这些技术有哪些特点,为什么会被目前的技术所取代,而目前的技术又解决了之前的技术所存在的哪

2015-11-30 11:24:52 238

转载 当你发送QQ信号的时候,网络做了什么?

上面的图画将比较常用的协议显示出来了。下面更具体的各种协议。

2015-11-30 11:00:19 361

翻译 linux下的所有组及文件权限

文件权限及用户组: 如何在linux中添加组:  groundadd 组名查看linux中所有组的信息(cat 表示只读)  :  cat  /etc/group 添加用户到相应的组: useradd -g 组名 用户名 修改用户使之到指定的组: usermod - g 组名 用户名 查看linux中的所有用户信息: vi /etc/passwdcat

2015-11-30 10:56:00 698

转载 linux下的分区及挂载

1.linux下的分区一块硬盘的情况下:主分区+扩展分区 扩展分区不能直接使用,需要分成逻辑分区才能使用逻辑分区数量无限制 linux的分区机制:  2.跟分区有关的常用命令查看硬盘的分区情况:fdisk -l 各个分区的情况:df -h  挂载命令:

2015-11-30 10:54:48 262

转载 并行、并发、同步和互斥

并行计算机操作系统中的并行,指的是同时存在于内存中的多道作业都处于运行状态。实际上都是宏观上并行,微观上串行,因为这些作业都是开始各自的运行,但都没运行完毕,只是交替地使用cpu。    在操作系统中是指,一组程序按独立异步的速度执行,不等于时间上的重叠(同一个时刻发生)。要区别并发。并发是指:在同一个时间段内,两个或多个程序执行,有时间上的重叠(宏观上是同时,微观上仍是顺序执行)

2015-11-30 10:47:43 634 1

转载 同步、异步、互斥、信号量、阻塞、非阻塞

(1)临界资源         在操作系统中,进程是占有资源的最小单位(线程可以访问其所在进程内的所有资源,但线程本身并不占有资源或仅仅占有一点必须资源)。但对于某些资源来说,其在同一时间只能被一个进程所占用。这些一次只能被一个进程所占用的资源就是所谓的临界资源。(2)同步、互斥       相交进程之间的关系主要有两种:同步与互斥(一定要记住:不是同步和异步)。所谓互斥,是指

2015-11-30 10:18:13 793

空空如也

空空如也

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

TA关注的人

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