- 博客(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
翻译 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关注的人