
Linux 基础
冰水寒SG
这个作者很懒,什么都没留下…
展开
-
build.prop
build.prop目录综述文件结构参数1. Dalvik虚拟机相关参数2. 系统版本、定义等参数 3. 基本性能相关参数总结展开综述文件结构参数1. Dalvik虚拟机相关参数2. 系统版本、定义等参数 3. 基本性能相关参数总结展开编辑本段综述在And转载 2013-05-20 15:02:59 · 962 阅读 · 1 评论 -
linux内核中的GPIO系统之(2):pin control subsystem
一、前言在linux2.6内核上工作的嵌入式软件工程师在pin control上都会遇到这样的状况:(1)启动一个新的项目后,需要根据硬件平台的设定进行pin control相关的编码。例如:在bootloader中建立一个大的table,描述各个引脚的配置和缺省状态。此外,由于SOC的引脚是可以复用的,因此在各个具体的driver中,也可能会对引脚进行的配置。这些工作都是比较繁琐的工作,转载 2014-11-12 14:03:19 · 1191 阅读 · 0 评论 -
container_of分析
1.container_of宏1> Container_of在Linux内核中是一个常用的宏,用于从包含在某个结构中的指针获得结构本身的指针,通俗地讲就是通过结构体变量中某个成员的首地址进而获得整个结构体变量的首地址。2>接口:container_of(ptr, type, member) ptr:表示结构体中member的地址 type:表示结构体类型 membe转载 2014-09-03 14:35:12 · 377 阅读 · 0 评论 -
Linux驱动框架----hwmon
写在前面的话:对于框架,我觉得就是在一定规范的形式下去实现你要的功能。这里就涉及到一个变与不变的地方。你所要实现的功能会是千差万别的---这就是变的地方,而所谓既定的规范,包括建立目录和属性文件这是Linux系统已经为我们做好了的,我们只需要直接拿来引用就OK了。那么今天,我们就来看看hwmon框架是怎么样的。对hwmon而言,它是sysfs框架下的一个类,但是所有有关该类与sys转载 2014-08-19 15:37:59 · 2116 阅读 · 0 评论 -
Android编译选项eng、user、userdebug的区别 .
eng:debug 版本user: release 版本userDebug版本:部分debug版本 要了解Android编译选项eng、user和userdebug的区别,需先了解下LOCAL_MODULE_TAGS这一Android.mk文件里的配置项,一般配置形式为LOCAL_MODULE_TAGS := user eng optional test这个样子。转载 2013-10-28 16:54:12 · 872 阅读 · 0 评论 -
INIT_DELAYED_WORK() 函数剖析
INIT_DELAYED_WORK()是一个宏,我们给它传递了两个参数.&hub->leds和led_work.对设备驱动熟悉的人不会觉得INIT_DELAYED_WORK()很陌生,其实鸦片战争那会儿就有这个宏了,只不过从2.6.20的内核开始这个宏做了改变,原来这个宏是三个参数,后来改成了两个参数,所以经常在网上看见一些同志抱怨说最近某个模块编译失败了,说什么make的时候遇见这么一个错误:转载 2013-10-12 13:53:17 · 1171 阅读 · 0 评论 -
Linux中Workqueue机制分析
走入Linux的殿堂已经有一年有余了,在这里我想将Linux的各种实现机制分析一遍,一方面对自己来说也是温故而知新,另一方面,促进大家的交流,最好能够给大家一些抛砖引玉的启迪。我是硬件出身,搞硬件已经好多年了,从是专门软件开发也接近两年了,在这一段时间内我越发认为软硬件协同设计是未来发展的主流,软硬件的界限越来越模糊,软硬件的设计思想是相通的,实现方法是各异的,实现的结果上当然也存在较大差别,因此转载 2013-09-18 15:20:36 · 719 阅读 · 1 评论 -
linux 同步机制之complete
linuxLinuxLINUX同步在Linux内核中,completion是一种简单的同步机制,标志"things may proceed"。要使用completion,必须在文件中包含,同时创建一个类型为struct completion的变量。[cpp] view plaincopyprint?这个变量可以静态地声明和初始化: DECLARE_CO转载 2013-09-12 14:54:52 · 724 阅读 · 0 评论 -
sh脚本语法_基础
1 开头程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。当编写脚本完成时,如果要执行该脚本,还必须使其可执行。要使编写脚本可执行:编译 chmod +x filename 这样才能用./filename 来运行2 注释在进行shell编程时,以转载 2013-08-07 10:58:07 · 612 阅读 · 0 评论 -
sysfs接口函数的建立_DEVICE_ATTR
说道sysfs接口,就不得不提到函数宏 DEVICE_ATTR,原型是#define DEVICE_ATTR(_name, _mode, _show, _store) \struct device_attribute dev_attr_##_name = __ATTR(_name, _mode, _show, _store)函数宏DEVICE_ATTR内封装的是__ATTR(_na转载 2013-07-08 14:42:24 · 545 阅读 · 0 评论 -
信号量、互斥体和自旋锁
一、信号量 信号量又称为信号灯,它是用来协调不同进程间的数据对象的,而最主要的应用是共享内存方式的进程间通信。本质上,信号量是一个计数器,它用来记录对某个资源(如共享内存)的存取状况。一般说来,为了获得共享资源,进程需要执行下列操作: (1) 测试控制该资源的信号量。 (2) 若此信号量的值为正,则允许进行使用该资源。进程将信号量减1。 (3)转载 2014-11-05 13:40:32 · 398 阅读 · 0 评论