linux
文章平均质量分 90
里拉克丝_tiny
这个作者很懒,什么都没留下…
展开
-
总线设备驱动框架程序
装载自:http://blog.csdn.net/sjwangjinbao/article/details/6077236这里总结下简单的总线设备驱动的框架程序。 0、建立文件夹busdevdrv1、总线 在文件夹内建立总线文件bus.c,代码如下。#include #include #include #include #include转载 2013-05-06 17:20:02 · 579 阅读 · 0 评论 -
Linux设备驱动程序-并发和竞态
并发及其管理1、并发(concurrency)指的是多个执行单元同时、并行被执行,而并发的执行单元对共享资源(硬件资源和软件上的全局变量、静态变量等)的访问则很容易导致竞态(race condition)。 2、在设计自己的驱动程序时,第一个要记住的规则是,只要可能,就应该避免资源的共享。如果没有并发的访问,也就不会有竞态的产生。因此,仔细编写的内核代码应具有最少的共享。这转载 2014-04-23 15:29:13 · 756 阅读 · 0 评论 -
linux内存管理浅析
[地址映射](图:左中)linux内核使用页式内存管理,应用程序给出的内存地址是虚拟地址,它需要经过若干级页表一级一级的变换,才变成真正的物理地址。想一下,地址映射还是一件很恐怖的事情。当访问一个由虚拟地址表示的内存空间时,需要先经过若干次的内存访问,得到每一级页表中用于转换的页表项(页表是存放在内存里面的),才能完成映射。也就是说,要实现一次内存访问,实际上内存被访问了N+1次(N=页表转载 2014-04-23 18:00:15 · 514 阅读 · 0 评论 -
Linux设备模型(上)之底层模型
以《LDD3》的说法:Linux设备模型这部分内容可以认为是高级教材,对于多数程序作者来说是不必要的。但是我个人认为:对于一个嵌入式Linux的底层程序员来说,这部分内容是很重要的。以我学习的ARM9为例,有很多总线(如SPI、IIC、IIS等等)在Linux下已经被编写成了子系统,无需自己写驱动;而这些总线又不像PCI、USB等在《LDD3》上有教程,有时还要自己研究它的子系统构架,甚至要自己添转载 2014-04-22 18:00:02 · 595 阅读 · 0 评论 -
Linux设备模型(下)之Platform
从Linux2.6内核起,引入一套新的驱动管理和注册机制:platform_device和 platform_driver 。Linux 中大部分的设备驱动,都可以使用这套机制,设备用 platform_device 表示;驱动用platform_driver 进行注册。 platform是一个虚拟的地址总线,相比pci,usb,它主要用于描述SOC上的片上资源,比如s3c2440上集成的控制器(转载 2014-04-23 13:44:41 · 574 阅读 · 0 评论 -
Linux设备模型(中)之上层容器
基本概念 总线 Linux设备模型是由总线(bus_type),设备(device),驱动(device_driver)这三个数据结构来描述的。总线是处理器和一个或多个设备之间的通道。在设备模型中, 所有的设备都通过总线相连, 甚至是内部的虚拟“platform”总线(下一篇介绍),注意,这里设备模型中只是为个更好方便管理,所以有些总线是pic,i2c,usb等,但都只是一转载 2014-04-23 13:45:56 · 559 阅读 · 0 评论 -
SMEM介绍
SMEM :shared memory,是高通平台各子系统共享信息的一种机制,通过SMEM机制,PBL可以将信息传递给SBL1,SBL1可以将信息传递给RPM、LK。下面分析一个SMEM信息传递的具体实现过程。 1 Platform id信息SBL1会将board level platform id信息通过SMEM机制保存,LK在启动过程中会自动platform detec转载 2014-05-16 17:31:56 · 998 阅读 · 0 评论 -
qualcomm memory dump 抓取方法
Memory dump是系统出现crash时常用的分析故障原因的方法,qualcomm 各子系统运行时,为方便debug,都会开辟ram log和debug variable用于保存各系统运行信息及健康状态,就像飞机黑盒子用于记录飞行器飞行状态。当出现crash时,可以将ram log 、debug variable所在的memory region dump出来分析导致故障的原因。所以当需要分析c转载 2014-05-16 17:26:59 · 1898 阅读 · 0 评论 -
Android Wifi的工作流程
原文地址:Android Wifi的工作流程 作者:iibullhttp://blog.csdn.net/hxh19871987/article/details/7320839Wifi 网卡状态1. WIFI_STATE_DISABLED: WIFI网卡不可用2. WIFI_STATE_DISABLING: WIFI正在关闭转载 2014-05-19 15:17:07 · 816 阅读 · 0 评论 -
WiFi信号强度--SIGNAL_POLL(wifi上层到下层的调用关系)
1. 信号强度算法 WifiManager.java[cpp] view plaincopy/** Anything worse than or equal to this will show 0 bars. */ private static final int MIN_RSSI = -100; /** Anyth转载 2014-05-21 18:00:22 · 1421 阅读 · 0 评论 -
wpa_supplicant与kernel的接口
1. 接口定义实现wpa_drivers wpa_drivers的定义如下:[cpp] view plaincopystruct wpa_driver_ops *wpa_drivers[] = { #ifdef CONFIG_DRIVER_WEXT &wpa_driver_wext_ops,转载 2014-06-09 18:19:37 · 841 阅读 · 0 评论 -
Android 4.4 蓝牙解析(一)
由于开发项目的关系,最近一直在对android4.4的bluedroid进行研究,并且开发了一个面向用户的应用,但是实际上从开发过程遇到的问题发现,android4.4 bluedroid做的还是不完善,特别是在ble一连多和使用ble bluetoothgattserver roles的情况下。开发过程发现实际现在网上对于最新的android4.4 ble介绍很少,自己感觉不是很满意。所转载 2014-06-17 10:45:52 · 1547 阅读 · 0 评论 -
USB调试的错误 device descriptor read/64, error -71 已解决
今天调试USB HOST ,当插入U盘的时候发现了以下的错误device descriptor read/64, error -71源代码中的-71(/include/asm-generic/erro.h)代表的是协议的错误,百思不得其解晚上睡觉的时候,想到,协议的错误应该就是时序的错误,时序的错误就代表了硬件走线应该是有问题,把到USB端口的线做的很短,发现问题解转载 2014-03-05 10:13:27 · 36365 阅读 · 2 评论 -
Linux中的MACH定义之MACHINE_START / MACHINE_END
原文地址:Linux中的MACH定义之MACHINE_START / MACHINE_END 作者:kangjunping(写在转载之前) 在linux中machine对应一个设备,对于开发者而言对应一个新的项目,项目开展的初始需要对应定义一个MACH,在arch/arm/mach-xxx/目录下,此文件中定义了GPIO的使用,外设,i2c总线等系统信息,所以在参转载 2013-10-30 14:11:27 · 961 阅读 · 0 评论 -
windows/ubuntu 文件共享之 Samba 配置
很多时候需要在windows上和ubuntu 上共享文件,一直没怎么去找方法,得知Samba 可以实现在windows上访问linux的文件,这样一来要从windows文件放到linux中就方便了,听说它还有更多功能,也可以直接在linux与linux之间共享.先简单开始说一下windows与linux的,下面讲一下详细配置,部分说明来自网络 环境:VirtualBox虚拟机Ubu转载 2013-04-23 23:28:37 · 815 阅读 · 0 评论 -
Input子系统
Input子系统处理输入事务,任何输入设备的驱动程序都可以通过Input输入子系统提供的接口注册到内核,利用子系统提供的功能来与用户空间交互。输 入设备一般包括键盘,鼠标,触摸屏等,在内核中都是以输入设备出现的。下面分析input输入子系统的结构,以及功能实现。一. Input子系统结构与功能实现 1. Input子系统是分层结构的,总共分为三层: 硬件驱动层,子系统核心层,事件处理层。转载 2013-05-07 23:16:12 · 651 阅读 · 0 评论 -
Linux Platform Device and Driver
作者 : YiLi Xie yili.xie@gmail.com日期 : 2010-1-13欢迎转载,请注明出处 从 Linux 2.6 起引入了一套新的驱动管理和注册机制 :Platform_device 和 Platform_driver 。Linux 中大部分的设备驱动,都可以使用这套机制 , 设备用 Platform_device 表示,驱动用 Plat转载 2013-05-08 16:53:41 · 809 阅读 · 0 评论 -
ubuntu10.04 apt-get install提示“couldn't find xx package”
今天在vmware虚拟机上安装了ubuntu10.04,当安装需要的软件是提示“couldn't find xx package”,搜索了很多解决方法都不可以。怀疑是ubuntu的版本过低,最后使用了如下方法更新了apt-get即可: apt-get update原创 2013-05-28 11:43:04 · 2541 阅读 · 0 评论 -
ubuntu 安装 git
在Ubuntu下安装git的过程,一般系统没有安装zlib.h所以要自己安装 首先下载git包:1$ cd ~/tmp2 3$ wget http://www.kernel.org/pub/software/scm/git/git-1.6.0.2.t原创 2013-05-29 10:50:01 · 929 阅读 · 0 评论 -
vmware clone linux.vmdk后出现两张网卡的情况
今天由于之前的linux出现了can't find config.ini文件的错误,上网查不到解决方案,就干脆新建了一个虚拟机,把原来的linux.vmk文件拷贝过来用,但是造成了网卡被clone的情况。原因是Vmware保存的硬件配置文件*.vmx里记录了网卡的MAC地址,而Ubuntu也会记录MAC地址,这样在克隆虚拟机的时候,Vmware会为Ubuntu分配一个新的eth0网卡,但是由于被之原创 2013-06-13 18:01:12 · 945 阅读 · 0 评论 -
在Ubuntu 10.04中使用中文man
下面说下在Ubuntu 10.04里安装中文man的简单步骤,man是linux里的使用手册,通过man可以快速的找到某个你不了解的命令行的使用文档。 不过Ubuntu的man默认是英文的,不过不要紧,源里面提供了中文man。 执行如下命令: sudo apt-get install manpages-zh原创 2013-06-17 11:37:12 · 642 阅读 · 0 评论 -
linux中断处理体系结构
1.中断处理的体系结构 我们知道编写设备驱动程序一定要用到中断处理函数,这在驱动程序的编写中,占据很重要的一部分。在响应一个特定的中断的时候,内核会执行一个函数,该函数叫做中断处理程序(interrupt handler)或中断服务例程(interrupt service routine ,ISP).产生中断的每个设备都有一个相应的中断处理程序,中断处理程序通常不和特定的设备关联,而是和转载 2013-07-09 20:33:56 · 687 阅读 · 0 评论 -
linux驱动群 325429653 欢迎一起学习
群号:325429653欢迎大家来一起交流学习。。。原创 2013-07-01 18:12:12 · 829 阅读 · 0 评论 -
sudo不能使用
今天装完系统发现我的sudo命令不能正常使用,大致情况如下: .......We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things: #1) Respect the privac转载 2013-08-09 15:26:50 · 1614 阅读 · 0 评论 -
UBUNTU 用户及用户组管理
创建组:$sudo addgroup ccache创建用户:$sudo useradd ccache -g ccache -M创新wfz用户并创建HOME目录,指定用户组为ccache$sudo useradd wfz -g ccache -m增加已存在用户到指定组$sudo adduser $USER ccache$sudo adduser dbh转载 2013-08-13 12:01:04 · 605 阅读 · 0 评论 -
linux命令工作笔记
1.遍历文件夹grep一个字符串find . -name "*c" | xargs grep "strings"原创 2013-09-06 14:11:02 · 673 阅读 · 0 评论