
linux driver
rex_nie
这个作者很懒,什么都没留下…
展开
-
FIMD架构分析
作者:邹南,华清远见嵌入式学院讲师。一、名称含义(FIMC& FIMD)FIMC : Fully Interactive Mobile Camera (完全交互式移动摄像机) FIMD: Fully Interactive Mobile Display (完全交互式移动显示设备)二 、FIMD 体系转载 2012-12-02 10:43:07 · 444 阅读 · 0 评论 -
简单介绍I2C总线
转自 《I2C总线协议应用指导书》 魏芬 编著说的简单通俗,所以转载了。第7章 I2C 总线简介ZLG7290B与微控制器的接口形式是I2C串行总线,因此有必要简要地介绍一下I2C总线协议标准。第8章还给出了用C51编写的I2C总线软件包,以供参考学习。7.1 I2C总线概述飞利浦(Philips)于20多年前发明了一种简单的双向二线制串行通信总线,这个总线被称转载 2018-02-24 17:51:37 · 732 阅读 · 0 评论 -
符合JEITA规范的锂离子电池充电器解决方案
符合JEITA 规范的锂离子电池充电器解决方案 作者:钱金荣 (Jinrong Qian),德州仪器 (TI) 高级便携式产品电池充电管理部门经理 引言在高温下过充电时,锂离子 (Li-ion) 电池往往会变得很危险。对这些电池安全充电,已经成为电池供电的便携式设备中最重要的设计规范之一。在建立工业标准方面已经取得了一些进展,例如:旨在提高电池充电安全性的日转载 2018-02-25 18:29:33 · 2551 阅读 · 0 评论 -
Aptina MT9M114 1.26M camera spec 学习
MT9M114是出自ON半导体公司的CMOS (CMOS与CCD的区别) digital image sensor, active-pixel array是1296 (H) × 976 (V)=1.26Mp.关键参数 Parameter Typical Value 中文解释 Optical Format 1/6-inch ...原创 2018-03-19 19:36:28 · 1963 阅读 · 0 评论 -
camera sensor readout position(flip/mirror)
预览过程:景物(sence)通过镜头(lens)生成的光学图像投射到图像传感器(sensor)上,图像以pixel为单位通过MIPI/DVP接口传输到VFE,经过external memory,最后经过MDP然后将图片显示到屏上。偶尔会出现这样情况:在屏上显示的图像方向不对。这是因为模组厂不严格根据sensor厂给出的sensor放置位置打样。转载 2018-03-19 19:39:44 · 832 阅读 · 0 评论 -
test markd
{ struct device_node *dn = of_find_matching_node(from, matches); struct resource res; while (dn) { if (of_address_to_resource(dn, 0, &res)) continue; if (res.start == base_address) r...原创 2019-01-21 10:19:23 · 266 阅读 · 0 评论 -
Linux 内核的并发和竞态
1. 并发的原因并发可能会导致竞态(race condition),竞态会导致对共享资源的非控制访问, 产生非预期的结果。Linux的并发来源于下面几个方面:正在运行的多个用户进程以无法预知的方式访问驱动程序代码外部设备的中断异步的发生,导致正在运行的进程或者驱动代码被中断linux的软件抽象(如timer, tasklet, workqueue)也在异步运行着现在SMP的处理器架...原创 2018-03-02 22:34:38 · 298 阅读 · 0 评论 -
Bayer Pattern
在刚加入工作的时候,听到最多的就是RGGB Bayer Pattern。在之前的接触中,一直默认一张图片的每个像素点有RGB三个分量,那“RGGB Bayer Pattern”究竟是什么意思。在网上查找资料以后发现这其实也是非常简单的概念。以下内容大部分为翻译,结合“CCD工作原理教程(V1.2)”。1. 硬件上私以为对CCD的原理有大致了解可以帮助我们对Beyer Pattern转载 2018-03-16 14:55:24 · 333 阅读 · 0 评论 -
Something about software suspend (swsusp)
from: http://blog.chinaunix.net/uid-20585891-id-1919736.htmlSomething about software suspend (swsusp)What is swsusp(sofeware suspend)?swsusp (Software Suspend) is a suspend-to-disk implementatio转载 2013-06-20 14:14:51 · 1229 阅读 · 0 评论 -
谈谈Linux内核驱动的coding style
最近在向Linux内核提交一些驱动程序,在提交的过程中,发现自己的代码离Linux内核的coding style要求还是差很多。当初自己对内核文档里的CodingStyle一文只是粗略的浏览,真正写代码的时候在很多细节上会照顾不周。不过, 在不遵守规则的程序员队伍里,我并不是孤独的。如果去看drivers/staging下的代码,就会发现很多驱动程序都没有严格遵守内核的coding style,而转载 2016-03-18 16:44:52 · 700 阅读 · 0 评论 -
Linux suspend-to-disk 流程分析
1. 实验平台cpu: omap4460 blaze tabletmemory: 1-GB DRAMOS: android 4.0.3, kernel 3.0.312.流程分析2.1 create and save image procedure1). echo "disk" > /sys/power/state2). state_s原创 2017-07-05 11:35:02 · 2288 阅读 · 2 评论 -
Android suspend-to-mem 流程分析
1. 实验平台cpu: omap4460 blaze tabletmemory: 1-GB DRAMOS: android 4.0.3, kernel 3.0.312.流程分析1). echo "mem" > /sys/power/state2). state_store() kernel/power/main.c 3). request_原创 2014-03-07 08:44:01 · 1657 阅读 · 0 评论 -
android uevent的工作原理
Uevent是Linux/Android驱动模型的一部分,当设备添加或者删除时通知用户空间的一种统一方式。Uevent在内核空间如何发送到用户空间uevent模块使用起来比较简单,就是设备状态改变的时候,调用kobject_uevent系列的api即可,具体实现在可查看源码。// kernel_src/lib/kobject_uevent.cint kobject_uevent(struct k原创 2018-02-02 17:48:49 · 665 阅读 · 0 评论 -
module_init解析及内核initcall的初始化顺序
module_init这个函数对做驱动的人来说肯定很熟悉,这篇文章用来跟一下这个函数的实现。在include/linux/init.h里面有module_init的定义,自然,因为一个module可以在内核启动时自动加载进内核,也可以由我们手动在需要时加载进内核,基于这种场景,内核使用了MODULE这个宏,见代码:#ifndef MODULE#ifndef __ASSEMBLY转载 2018-02-26 20:27:02 · 370 阅读 · 0 评论 -
Linux对I/O端口资源的管理
Linux对I/O端口资源的管理摘要 本文主要从内核实现的角度分析Linux 2.4.0内核IO子系统中对IO端口资源的管理的实现原理。本文是为那些想要深入分析Linux的IO子系统的读者和设备驱动程序开发人员而写的。(2002-10-08 14:14:05)By 阿开 Copyright © 2002 by 詹荣开 E-mail:zhanrk@soh转载 2018-02-27 09:23:53 · 418 阅读 · 0 评论