关闭

Linux内核Input输入子系统浅解

Linux输入设备总类繁杂,常见的包括有按键、键盘、触摸屏、鼠标、摇杆等等,他们本身就是字符设备,而linux内核将这些设备的共同性抽象出来,简化驱动开发建立了一个input子系统。子系统共分为三层,如图1所示。 图1  input输入子系统         驱动层和硬件相关,直接捕捉和获取硬件设备的数据信息等(包括触摸屏被按下、按下位置、...
阅读(1327) 评论(0)

mt6577驱动开发 笔记版

3 Preloader & Uboot 3.1 Preloader 3.1.1Preloader结构 Preloader的主题结构在文件:“alps\mediatek\platform\mt6577\preloader\src\core\main.c”中。 void main(void) { //时钟、uart、mcp等初始化 bldr_pre_process(); … bldr...
阅读(418) 评论(0)

MTK GPIO 一些理解

基于6575平台: GPIO驱动程序提供了两个接口: (1)内核空间:所提供的GPIO驱动程序,驱动程序可以调用其他函数 (2)用户空间:用户空间的程序可以通过发送IOCTL   /dev/ mtgpio的操作GPIO GPIO_PIN 枚举所有的GPIO引脚。它将被用于在每个gpio驱动 查看...
阅读(366) 评论(0)

Android手机通过wifi进行数据传输(三)

上文接Android手机通过wifi进行数据传输(二)  源码文件2 MyTimerCheck.java package edu.cdut.robin.hotspot; public abstract class MyTimerCheck {    private int mCount = 0;    private int mTimeOutCount = 1;    priva...
阅读(291) 评论(0)

Android手机通过wifi进行数据传输(一)

本人博客原文 本文参照自: Android 连接Wifi和创建Wifi热点 demo 在Android手机上可以通过在收方开启一个wifi热点,然后再发送方连接这个wifi热点。这样他们就在一个局域网,然后通过socket进行通信。 本文的demo程序写得比较简单。 对于收方,首先点击“创建wifi热点”按钮,开启一个wifi热点,然后点击“开启接受”按钮,准备接受数据...
阅读(392) 评论(0)

MTK Camera 开机启动流程

一、MTK平台Camera框架          MTK平台的Camera的架构见下图,      这里主要介绍kernel部分和HAL层部分。     1、Kernel 部分主要有两块:            1.1、image sensordriver,负责具体型号的 sensor 的 id 检测,上电,以及在preview、capture、初始化、3A...
阅读(2099) 评论(0)

Common Clock Framework系统结构

一、前言 之前,wowo同学已经发表了关于CCF(Common Clock Framework)的三份文档,相信大家对CCF有一定的了解了,本文就是在阅读那三份文档的基础上,针对Linux 4.4.6内核的内核代码实现,记录自己对CCF的理解,并对CCF进行系统结构层面的归纳和整理。 本文内容包括三个部分,第二章给出了整个CCF相关的block diagram图,随后在第三章对各个模块...
阅读(297) 评论(0)

linux cpufreq framework(5)_ARM big Little driver

1. 前言 也许大家会觉得奇怪:为什么Linux kernel把对ARM big·Lttile的支持放到了cpufreq的框架中? 众所周知,ARM的big·Little架构,也称作HMP(具体可参考“Linux CPU core的电源管理(2)_cpu topology”中相关的介绍),通过在一个chip中封装两种不同类型的ARM core的方式,达到性能和功耗的平衡。这两类ARM ...
阅读(420) 评论(0)

Linux CPU core的电源管理(5)_cpu control及cpu hotplug

1. 前言 由“Linux CPU core的电源管理(1)_概述”的描述可知,kernel cpu control位于“.\kernel\cpu.c”中,是一个承上启下的模块,负责屏蔽arch-dependent的实现细节,向上层软件提供控制CPU core的统一API(主要包括cpu_up/cpu_down等接口的实现)。本文将基于这些API,从上到下,分析CPU core从启动到关...
阅读(1013) 评论(0)

linux cpufreq framework(4)_cpufreq governor

1. 前言 由“linux cpufreq framework(3)_cpufreq core”的描述可知,cpufreq policy负责设定cpu调频的一个大致范围,而cpu的具体运行频率,则需要由相应的cufreq governor决定(可自行调节频率的CPU除外,后面会再详细介绍)。那到底什么是cpufreq governor?它的运行机制是什么?这就是本文要描述的内容。 ...
阅读(231) 评论(0)

linux cpufreq framework(3)_cpufreq core

1. 前言 前文(Linux cpufreq framework(2)_cpufreq driver)从平台驱动工程师的角度,简单的介绍了编写一个cpufreq driver的大概步骤。但要更深入理解、更灵活的使用,必须理解其内部的实现逻辑。 因此,本文将从cpufreq framework core的角度,对cpufreq framework的内部实现做一个简单的分析。 2. 提供...
阅读(317) 评论(0)

Linux cpufreq framework(2)_cpufreq driver

1. 前言 本文从平台驱动工程师的角度,介绍怎么编写cpufreq驱动。 注1:本文基于linux-3.18-rc4内核,其它版本内核可能会稍有不同。 2. cpufreq driver的编写步骤 cpufreq driver主要完成平台相关的CPU频率/电压的控制,它在cpufreq framework中是非常简单的一个模块,编写步骤包括: 1)平台相关的初始化动作...
阅读(301) 评论(0)

linux cpufreq framework(1)_概述

1. 前言 linux kernel主要通过三类机制实现SMP系统CPU core的电源管理功能: 1)cpu hotplug。根据应用场景,enable/disable CPU core,具体可参考“Linux CPU core的电源管理(4)_cpu control”。 2) cpuidle framework。在没有进程调度的时候,让CPU core进入idle状态,具...
阅读(346) 评论(0)

Linux进程冻结技术

http://www.wowotech.net/pm_subsystem/237.html 1 什么是进程冻结 进程冻结技术(freezing of tasks)是指在系统hibernate或者suspend的时候,将用户进程和部分内核线程置于“可控”的暂停状态。 2 为什么需要冻结技术 假设没有冻结技术,进程可以在任意可调度的点暂停,而且直到cpu_down才会暂停并迁移。这会给系统...
阅读(473) 评论(0)

Android横竖屏切换总结(Android资料)

Android横竖屏要解决的问题应该就两个: 一.布局问题 二.重新载入问题 1.布局问题:如果不想让软件在横竖屏之间切换,最简单的办法就是在项目的AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation属性,他有以下几个参数: "unspecified":默认值 由系统来判断显示方向.判定的策略...
阅读(255) 评论(0)
143条 共10页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:49185次
    • 积分:854
    • 等级:
    • 排名:千里之外
    • 原创:15篇
    • 转载:128篇
    • 译文:0篇
    • 评论:0条
    文章分类
    最新评论