- 博客(47)
- 资源 (8)
- 收藏
- 关注
转载 Linux cpufreq 机制了解
引用文章链接:http://www.ibm.com/developerworks/cn/linux/l-cn-cpufreq/http://blog.csdn.net/linweig/archive/2010/10/28/5972312.aspx 随着 energy efficient computing 和 performance per watt 等概念的推广以
2017-03-01 09:47:48
1733
转载 USB充电规范 1.2 中文详解
1. Introduction 1.1 Scope 规范定义了设备通过USB端口充电的检测、控制和报告机制,这些机制是USB2.0规范的扩展,用于专用 充电器(DCP)、主机(SDP)、hub(SDP)和CDP(大电流充电端口)对设备的充电和power up。这些机制适用
2017-02-27 10:06:26
12727
原创 高通 -- 串口配置
1.更改串口配置涉及文件 arch/arm/mach-msm/board-8610-gpiomux.c -- 功能选择; arch/arm/boot/dts/msm8610.dtsi -- pdata注册; arch/arm/mach-msm/clock-8610.c -- uart clk初始化; 驱动文件: 低速版本:compatible = "qcom,msm-lsuart-v14";@msm_serial_hs_lite.c 高速版本:compatible = "qcom,msm-hsu
2016-04-22 17:34:26
9882
原创 Android JNI 调试
1. ReferenceTable overflow (max=1024)?Q:对库进行压力测试时,某个jni调用总会导致ReferenceTable overflow (max=1024)错误A: 看代码发现某个jbyteArray param,用完没有释放掉!env->ReleaseByteArrayElements(param, jparam, 0);这样就ok了!
2015-07-24 10:49:12
1069
原创 Android repo Q&A
repo sync失败?不用删除.repo解决error.GitError: manifests rev-list ('^12303f87b9f90c07bf4aec4c4353ba514ee70c8a', 'HEAD', '--'): fatal: bad revision 'HEAD'问题
2015-06-19 11:41:06
6003
转载 Service与Android系统设计(2)-- Parcel
作者:吴赫,共18次连载,讲述Android Service背后的实现原理,透析Binder相关的RPC。Parcel与Parcelable当我们在调用远程方法时,需要在进程间传递参数以及返回结果。这种类似的处理方式,需要把数据与进程相关性去除,变成一种中间形式,然后按统一的接口进行读写操作。这样的机制,一般在高级编程语言里都被称为序列化。在Android世界里处理数据的序列化
2014-09-05 10:54:21
1405
转载 Service与Android系统实现(1)-- 应用程序里的Service
特别声明:本系列文章作者系吴赫。分多次连载,讲述Android Service(JAVA Service、Native Service等)背后的实现原理,透析基于Binder的RPC以及Linux Binder驱动。ervice与Android系统实现(1)-- 应用程序里的ServiceService与Android系统设计(2)-- ParcelService与An
2014-09-05 10:47:56
1835
原创 Linux内核--各种宏定义
1. asmlinkage宏#define asmlinkage __attribute__((regparm(0))). 解释:gcc编译器在汇编过程中调用c语言函数时传递参数有两种方法:一种是通过堆栈,另一种是通过寄存器。缺省时采用寄存器,假如你要在你的汇编过程中调用c语言函数,并且想通过堆栈传递参数,你定义的c函数时要在函数前加上宏asmlinkage。跟asmlinkage相对
2013-07-09 17:34:53
2607
原创 rtems-4.11移植到MINI2440 (二) 之移植
-1. 在做移植前要做一下几点:看看rtems的各种guide,不用整的非常明白,知道大概即可;看看雪松的博客;看看知秋一叶的博客;0. 平台:OS: Ubuntu 12.04rtems: 4.111. 添加mini2440 bsp支持,可以去掉其他不相关的;在libbsp/arm/acinclude.m4中mini2440 )AC_CONFIG_S
2013-07-07 10:30:57
4696
14
原创 c-krmit 9.0.302在ubuntu 12.04编译
需要使用ckermit+openOCD+openJTAG调试rtems,但是安装kermit时却出现了错误...ubuntu12.04中sudo apt-get intstall ckermit,成功安装,只是由于系统自带的openssl版本过高,拢是警告,提醒从源码重新编译;1. 从http://www.columbia.edu/kermit/ck90.htm下载源码,cku302.ta
2013-07-06 23:11:10
1323
原创 rtems-4.11移植到MINI2440 (一) 之环境搭建
注:make时加上-j4(job数)会显著提高编译速度...环境:OS: Ubuntu 12.04 LTSrtems: rtems-4.110. 准备目录rtems/archieve:放压缩包及补丁;rtems/src: rtems-4.11源码;rtems/tools: 工具编译目录rtems/tools/b-xxx: build目录;
2013-07-06 16:32:28
5234
2
原创 GNU C中的数组类型
环境:OS: Ubuntu 12.04CC:gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)1. sizeof sizeof是单目操作符而不是函数,使用方式:sizeof unary-expression sizeof ( type-name ) sizeof操作符以字节形
2013-06-25 12:15:41
1295
转载 数组名和指针详解
首先要说的是,数组名不是指针。 我们来看数组int test[3],这里test[3]是整型,test这个数组名的值是一个指针常量,也就是数组第一个元素的地址。总结一下:数组名的类型(如int test[3])就是“指向某类型(int型)的常量指针”。只有当数组名在表达式中使用时,编译器才会为它产生一个指针常量。 但是数组名和指针是不相同的。
2012-12-06 15:20:18
1213
原创 Linux内核启动分析(中)
Linux内核启动分析(中)0. linux-3.2.0-321. bzImage由setup和vmlinux两部分组成,setup是实模式下的代码,vmlinux是保护模式下的代码。2. BIOS把Boot Loader加载到0x7C00的地方并跳转到这里继续执行之后,BootLoader就会把实模式代码setup加载到0x07C00之上的某个地址上,其中setup的前512个字节是
2012-11-16 23:33:51
2822
原创 Linux内核启动分析(上)
Figure 1.1 内核启动顺序 一切都是从你摁下电源摁钮时开始。首先是主板初始化自身的固件--芯片组还有一些附件,接着尝试让CPU工作。如果这个时候有意外发生,你的电脑恐怕只剩电扇在那独自空转了。此时主板可能会发出刺耳的鸣叫提醒你注意:嗨,伙计CPU这家伙不工作啦! 好的到这时CPU可能已经正常工作了,如果是多核CPU,那么会随机的选择其中的一个来当做BSP
2012-11-16 11:51:35
2051
转载 协方差的意义
协方差的意义转载于:http://bbs.mathchina.com/cgi-bin/topic.cgi?forum=5&topic=14444(感谢原作者) 在概率论中,两个随机变量 X 与 Y 之间相互关系,大致有下列3种情况:当 X, Y 的联合分布像上图那样时,我们可以看出,大致上有: X 越大 Y 也越大, X 越小 Y 也越小,这种情况,我们称为“正
2012-10-18 23:30:29
35342
21
原创 Linux内核基础--事件通知链(notifier chain)
内核通知链1.1. 概述 Linux内核中各个子系统相互依赖,当其中某个子系统状态发生改变时,就必须使用一定的机制告知使用其服务的其他子系统,以便其他子系统采取相应的措施。为满足这样的需求,内核实现了事件通知链机制(notificationchain)。 通知链只能用在各个子系统之间,而不能在内核和用户空间进行事件的通知。组成内核的核心系统代码均位于kernel
2012-10-16 22:01:16
22085
2
翻译 uIP中文协议文档:Ch01
uIP0.9 参考手册by Doxygen 1.3.3Tue Oct 7 15:51:00 2003译: fishOnFly(鱼在飞) uIP-refman中文pdf下载第1章 uIP TCP/IP协议栈uIP TCP/IP协议栈的目标是:即便是8位微控制器也能够使用TCP/IP协议栈进行网络通信。尽管小而简单, uIP不需要与他们通信
2012-09-18 20:32:07
26556
原创 基于S3C2440的嵌入式Linux驱动--SPI子系统图解
1.SPI子系统框图详解: SPI总线上有两类设备:一类是主控端,通常作为SOC系统的一个子模块出现,比如很多嵌入式MPU中都常常包含SPI模块。一类是受控端,例如一些SPI接口的Flash、传感器等等。主控端是SPI总线的控制者,通过使用SPI协议主动发起SPI总线上的会话。而受控端则被动接受SPI主控端的指令,并作出响应的响应。如图1所示,linux下的spi子系
2012-08-15 21:32:55
4122
转载 基于S3C2440的嵌入式Linux驱动——SPI子系统解读(四)
转自: http://blog.csdn.net/yj4231/article/details/7755709感谢yj4231博主的辛勤劳动!!!本系列文章对Linux设备模型中的SPI子系统进行讲解。SPI子系统的讲解将分为4个部分。 第一部分,将对SPI子系统整体进行描述,同时给出SPI的相关数据结构,最后描述SPI总线的注册。基于S3C2440的嵌入式
2012-08-15 16:31:34
2273
转载 基于S3C2440的嵌入式Linux驱动——SPI子系统解读(三)
转载自: http://blog.csdn.net/yj4231/article/details/7751279该系列文章将分为四个部分: 第一部分,将对SPI子系统整体进行描述,同时给出SPI的相关数据结构,最后描述SPI总线的注册。基于S3C2440的嵌入式Linux驱动——SPI子系统解读(一) 第二部分,该文将对SPI的主控制器(master)驱
2012-08-15 16:18:55
2521
转载 基于S3C2440的嵌入式Linux驱动——SPI子系统解读(二)
转载自:http://blog.csdn.net/yj4231/article/details/7746643 本系列文章对Linux设备模型中的SPI子系统进行讲解。SPI子系统的讲解将分为4个部分。 第一部分,将对SPI子系统整体进行描述,同时给出SPI的相关数据结构,最后描述SPI总线的注册。基于S3C2440的嵌入式Linux驱动——SPI
2012-08-15 11:15:45
2648
转载 基于S3C2440的嵌入式Linux驱动——SPI子系统解读(一)
转载自:http://blog.csdn.net/yj4231/article/details/7746643本文将介绍SPI子系统。内核版本为2.6.30。如有错误欢迎指正。预备知识要求:1.SPI总线 2. platfrom平台 3. sysfs子系统
2012-08-15 10:39:25
2517
转载 linux spi子系统驱动分析
转自:http://blog.chinaunix.net/uid-20620288-id-3161198.html2.6.18内核下已经添加了完整的spi子系统了,参考mtd的分析,将从下到上层,再从上到下层的对其进行分析。以下先从下到上的进行分析: driver/spi下有两个底层相关的spi驱动程序:spi_s3c24xx.c和spi_s3c24xx_gpio.
2012-08-06 09:49:28
1805
转载 Linux内核SPI子系统架构分析
SPI总线上有两类设备:一类是主控端,通常作为SOC系统的一个子模块出现,比如很多嵌入式MPU中都常常包含SPI模块。一类是受控端,例如一些SPI接口的Flash、传感器等等。主控端是SPI总线的控制者,通过使用SPI协议主动发起SPI总线上的会话。而受控端则被动接受SPI主控端的指令,并作出响应的响应。 Linux目前只支持SPI主控端,不能支持SPI受控端设备。 Linux
2012-08-06 09:44:50
2381
原创 SPI message 基础 Part 2
SPI message基础Contents .Part 1 - Linux SPI系统概览 .Part 2 - SPI message基础 .Part 3 - 异步写LinuxSPI 通信基础在SPI总线上是通过封装一系列的spi_transfer到一个spi_message中,然后将spi_message提交到SP
2012-08-05 16:50:36
15398
原创 SPI protocol 驱动编写 Part 1
Linux中SPI系统概览Contents Part 1 - Linux中SPI子系统概览 Part 2 - SPI message基础 Part 3 - 异步写Overview SPI框架的内核文档是个好的开始。在你的内核源码中Documentation/目录下,这里有个连接:SPI-概览。Linux中SP
2012-08-05 10:42:17
5218
1
原创 SPI总线概览
SPI是什么?Serial Peripheral Interface是一种同步4线串口链路,用于连接传感器、内存和外设到微控制器。他是一种简单的事实标准,还不足以复杂到需要一份正式的规范。SPI使用主/从配置模式。有3根控制数据传输,其中包含并行数据线:MOSI(Masterout Slave in)和MISO(Masterin Slave out). 有四种时钟模
2012-08-04 15:38:01
3423
1
原创 kalman滤波的基础简介
Kalman滤波简介卡尔曼滤波算法简述 卡尔曼滤波的一个典型实例是从一组有限的,包含噪声的,对物体位置的观察序列(可能有偏差)预测出物体的位置的坐标及速度。卡尔曼滤波也是控制理论以及控制系统工程中的一个重要课题。 当输入为带有高斯白噪声的信号时,使期望输出和实际输出之间的均方根误差达到最小的线性系统。受噪声干扰的状态量是个随机量,不可能测得精确值,但可对
2012-06-28 11:05:33
1714
原创 mini2440_NFS 利用uboot启动
本文记录mini2440开发板如何利用uboot通过nfs服务来启动内核。背景: 放了好久的板子,今天又得重新拿来使唤,之前换了机子,虽说除了kernel和rootfs通过nfs挂载的,但u-boot死活进不去...搞定u-boot,nfs又不好使了。...环境: 1.OS:ubuntu11.10; 2.串口
2012-03-28 19:49:41
7362
原创 LDD3笔记:第三章 字符设备驱动
平凡的我们不能预见虚无且略带迷茫的明天,唯有着眼当下做好我们手边的事,这才是王道。 初来咋到不敢造次,追寻伟人,以期借肩膀一用,弱弱的陈述,积极的整理。举网络资源之海量,去迷茫众生之浮躁。新人笔记恳请批评指正。在驱动界,梵高说过:得LDD精髓者得天下。恩...那就开始吧...Chapter03:Char Drivers 我们的最终目的是编写一个模块化的字符驱动, 但是我
2012-02-13 20:44:32
1120
原创 error debug
1.当出现如下警告时: warning: incompatible implicit declaration of built-in function ‘malloc’可能以为着编译器找不到malloc!在你的include中包含stdlib.h就可以消除警告了。2.当出现如下警告时: warning: unknown conversion type c
2011-12-13 11:17:21
2794
原创 Gnome2.x快捷键
Gnome 2.xx :1.通用Alt + F1 类似Win键,在GNOME中打开"应用程序"菜单(Applications)Alt + F2 类似Win + R组合键,在GNOME中运行应用程序Ctrl + Alt + D 类似Win + D组合键,显示桌面Ctrl + Alt + L 启动屏幕保护程序Alt + Tab 同Windows下的Alt + Tab组合键,在不
2011-12-13 11:16:29
1080
原创 c指针的强制转换(cast)
1.类型转化包含两种形式: 自动隐式转换 强制显式转换2.自动隐式转换: 。低类型会自动向高类型转换: char a, b, c;...a = b + c;整型算术运算会自动缺省整型类型精度进行计算,首先对b,c进行提升为int型,计算完在截断为char型。char a, b;int c;double f, g;c =
2011-12-04 23:02:56
3079
原创 Linux命令
1.解压.tar.xz格式文件$man tar可以看到: -J, --xz filter the archive through xz欲解压xx.tar.xz文件,如下命令即可:$tar -Jxvf xx.tar.xz2.当出现Segmentation Fault时,系统会进行core dump可以用命令来开启core:#ulimi
2011-12-04 19:38:42
757
原创 mini2440_NFS
1.在主机上配置好nfs:echo ‘/directory 192.168.1.0/24(rw,sync,no_root_squash)’ >> /etc/exports /*将被挂载的目录 可挂载的网段 options参数(可读/写,同步,可以拥有root权限)* >> 追加到文件的末尾 */起nfs 服务service nfs startservice portmap
2011-12-03 10:10:39
1121
原创 LDD3笔记:第二章 构造和运行模块
在正式进行驱动开发前,需要了解有关模块编程和内核编程的一些基本概念。在本节中将会构造几个完整的(但绝对没啥功用的)模块。设置测试系统一般的发行版本都会装好内核代码树的,用过的Red Hat Enterprise Linux 5.x, Fedora 15/16, CentOS5.x系统中,其在/usr/src/kernels/$(shelluname -r)/目录下.你最好使用的内核源码树是和运行时
2011-11-27 11:21:27
1145
翻译 v4l2 spec 中文 Ch03
V4L2 中文 Made by:鱼在飞(467350479) 个人翻译,转载请申明!Chapter 3. 输入/输出(Input/Output)v4l2 全五章下载:v4l2 chapter all.pdf V4L2 API规定了若干个不同的读写设备的方法。驱动和应用程序间进行数据交换必须支持其中的一种。传统的I/O方法是打开V4L2设备后会自动的调用rea
2011-10-14 21:18:13
2260
MindShare SATA Storage Technology
2014-06-24
v4l2中文手册(规范)全五章(包含驱动编写)pdf
2013-03-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人