
[Linux_kernel]
文章平均质量分 69
duanlove
嵌入式虚拟化,LINUX内核艺术,系统底层世界……
展开
-
ARM架构处理器MT6572的LK(可以理解为UBOOT)uart串口驱动分析【代码注释】
提示: 分析注释的部分,一般都会字体加粗或设置为红色字体。platform_early_init 函数是 MT6572平台 必须经过的一个初始化函数。系统开机从preload预加载开始执行,然后把参数传入LK,并进入LK(类似于uboot),进行相应的初始化。串口的初始化便是在platform_early_init 函数里执行的。 在lk的 mediatek/p原创 2013-11-23 10:57:27 · 6843 阅读 · 1 评论 -
关于Linux系统的 atomic_t 、 atomic64_t 和 atomic_long_t类型
实际上 atomic_t 和 atomic64_t 这两个类型 是linux 头文件("kernel/include/linux/types.h")里定义。 typedef unsigned long irq_hw_number_t;typedef struct { int counter;} atomic_t;#ifdef CONFIG_64BITtypede原创 2013-11-25 11:24:46 · 13264 阅读 · 0 评论 -
ARM架构处理器MT6572的LK printf 与UART串口打印分析
相关源码文件: bootable/bootloader/lk/include/printf.h bootable/bootloader/lk/lib/libc/printf.c 其他参考文章: MT6572的LK(可以理解为UBOOT)uart串口驱动分析【代码注释】 http://blog.youkuaiyun.com/duanl原创 2013-11-23 11:52:14 · 2492 阅读 · 0 评论 -
MT6572 的UART串口寄存器DATASHEET
以下是MT6572的datasheet上有关UART寄存器的部分:上传的是图片。故不方便的地方就是不能搜索字符串。 有关串口分析的文章请参考: MT6572的LK(可以理解为UBOOT)uart串口驱动分析【代码注释】 http://blog.youkuaiyun.com/duanlove/article/details/16897717原创 2013-11-23 11:19:35 · 3457 阅读 · 0 评论 -
goodix 五点触摸屏驱动源文件分析
备注:头文件(gt818.h) 请查看如下链接,这两份都是完整的代码。gt818_update.h 对于使用来说没有什么用处,可以不用。 http://blog.youkuaiyun.com/duanlove/article/details/7881043 gt818.c/* drivers/input/touchscreen/goodix_touch.c * * Copy原创 2012-08-18 16:26:07 · 10841 阅读 · 15 评论 -
【补充】汇顶IC,触摸屏驱动的 头文件(gt818_update.h)
driver/gt818_update.hdriver/gt818.cdriver/Makefilefirmware/update_0080.bin---------------------------------------------------------------static unsigned char goodix_gt818_firmware[原创 2013-09-05 13:24:06 · 2868 阅读 · 1 评论 -
[android] 调试linux input子系统驱动的用户空间命令 getevent/sendevent
在android中getevent/sendevent源码 位置这两个命令的源码在 system/core/toolbox/下,sendevent.c getevent.c 两个文件。getevent使用getevent获得/dev/input/eventX设备汇报的事件,这个命令还会输出所有event设备的基本信息,如下: # geteventadd device转载 2013-09-10 12:48:03 · 2478 阅读 · 0 评论 -
判断大小端的几种方式
方式1:----------------------------------------端模式(Endian)的这个词出自Jonathan Swift书写的《格列佛游记》。这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头开始将鸡蛋敲开的人被归为Littile Endian。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endia转载 2013-08-13 15:49:09 · 1416 阅读 · 0 评论 -
Linux socket.h 中 CMSG_ALIGN 宏定义的作用(字节对齐)
受下面这篇文章的启发,可以知道"kernel/include/linux/socket.h" 中 CMSG_ALIGN 这个宏的 作用。#define CMSG_ALIGN(len) ( ((len)+sizeof(long)-1) & ~(sizeof(long)-1) ) 其实,就是 找 len 的 上界数( sizeof(long) 必须为 2的N次方) 。上原创 2013-08-13 15:37:55 · 2791 阅读 · 0 评论 -
[MTK] [LCM]ili9806c和ili9805c开启ESD机制使用过程概率性出现上方闪线
[DESCRIPTION]ili9806c和ili9805c在开启ESD机制使用过程中概率性出现闪线,闪线颜色和当前屏幕最下方颜色类似,而关闭ESD,则不会复现问题 [SOLUTION] 该问题原因是ILITEK这两颗video mode IC在停掉数据后会内部启count报Hsync,再开启ESD机制后,read完寄存器后,其内部Hsync有可能会撞到第一次的Vsyn转载 2013-07-30 13:38:20 · 3629 阅读 · 0 评论 -
android-mtk方案 “CompileTimeError” 编译报错的分析 (摄像头HAL相关,其他类似报错可以参考)
“CompileTimeError” 编译报错的分析 加入如下代码之后编译报错 CONFIG_FEATURE_SI( FID_AE_STROBE, BY_DEFAULT(FLASHLIGHT_FORCE_OFF), FLASHLIGHT_FORCE_ON, FLASHLIGHT_FORCE_OFF )原创 2013-07-04 16:09:12 · 1603 阅读 · 0 评论 -
Android - How can I call Java methods from C++
Android - How can I call Java methods from C++-------------------------------------------------------------FROM-URL: https://developer.vuforia.com/forum/faq/android-how-can-i-call-java-methods-c转载 2013-07-03 23:49:52 · 1038 阅读 · 0 评论 -
Kernel APIs, Part 1: Invoking user-space applications from the kernel
Kernel APIs, Part 1: Invoking user-space applications from the kernelImplementation and use of the usermode-helper API Summary: The Linux® system call interface permits user-space applic转载 2013-07-03 00:34:24 · 1326 阅读 · 0 评论 -
简约易懂的GIT 工具教程推荐 (一小时教程)
GIT 使用指南http://www.open-open.com/doc/view/738aaf0a9fc04b05a56106d22ff29622原创 2014-02-13 22:41:40 · 1090 阅读 · 0 评论 -
Linux 3.10 ARM Device Tree 的初始化
Linux 3.10 ARM Device Tree 的初始化 2013-07-03 13:53:16转自: http://blog.youkuaiyun.com/ermuzhi/article/details/9298541 本文代码均来自标准 linux kernel 3.10,可以到这里下载 https://www.kernel.org/转载 2014-02-12 23:46:00 · 1075 阅读 · 0 评论 -
LCD驱动(FrameBuffer)实例开发讲解
转自: http://blog.chinaunix.net/uid-28328633-id-3565345.html一、开发环境主 机:VMWare--Fedora 9 开发板:Mini2440--64MB Nand, Kernel:2.6.30.4 编译器:arm-linux-gcc-4.3.2 二、背景知识1. LCD工作的硬件需求: 要使一块LCD转载 2014-01-08 17:13:09 · 1522 阅读 · 0 评论 -
Linux Support for ARM LPAE 分析
介绍 早期的ARM系统仅需要MB级别的RAM,但是,随着设备的升级,现在更多复杂的智能手机设备 需要 百M甚至GB级别的RAM,而32bit的物理地址空间就显得捉襟见肘了。更让人紧张的是,这些地址空间不仅仅是RAM占用了,还有 外设、FLASH存储器以及系统ROM也占用了部分地址空间。 新兴起的 移动虚拟化 需要更多是RAM,当然在 Guest OS原创 2013-11-28 09:29:44 · 12300 阅读 · 0 评论 -
USB枚举过程
转自: http://blog.youkuaiyun.com/myarrow/article/details/8270029 1. 枚举是什么? 枚举就是从设备读取一些信息,知道设备是什么样的设备,如何进行通信,这样主机就可以根据这些信息来加载合适的驱动程序。调试USB设备,很重要的一点就是USB的枚举过程,只要枚举成功了,那么就已经成功大半了。 USB架构中, hub转载 2013-12-08 22:48:43 · 1110 阅读 · 0 评论 -
如何更方便的查看Linux内核代码的更新记录[类似于SVN windows客户端的比较功能]
Linux内核的更新非常的快,如何快速的了解这些更新呢?最一般的办法就是把新旧版本的内核源码下载下来,然后利用BCompare或别的什么工具进行源码对比,但这明显比较费力耗时,而本文将介绍一种更快捷简单的方法。在官方http://git.kernel.org/网站可以找到linux的各种git更新记录,比如virt/kvm/kvm.git,通过这个链接,可以看到kvm的各种更新。看我们重点转载 2013-11-28 11:34:39 · 1943 阅读 · 0 评论 -
The Android Telephony API for GSM
As a software developer for mobile platforms, you may be interested in incorporating telephony features in your app. For instance, your interactive app might need to notify the user when it starts acc转载 2013-07-03 01:38:53 · 1484 阅读 · 0 评论 -
解读Android LOG机制的实现
转载自:http://www.cnblogs.com/hoys/archive/2011/09/30/2196199.html Android提供了用户级轻量的LOG机制,它的实现贯穿了Java,JNI,本地c/c++实现以及LINUX内核驱动等Android的各个层次,而且足够简单清晰,是一个相当不错的解读案例。本系列文章针对LOG机制的内部实现机理进行解读,本文是系列的第一篇转载 2013-07-02 14:42:41 · 960 阅读 · 0 评论 -
【MTK6572】如何在User版本开启串口(Uart),抓取上层Log,开启输入控制台
[Description]如何在User版本开启串口(Uart),开启输入控制台,抓取上层Log [Keyword]User Uart Log Logcat 输入 控制台 串口 [Solution](1) 如何在User版本中使用串口(Uart) *Android GB 2.3 GB.MP GB.TDD.MP GB2.MP GB2.TDD.MP alps转载 2013-07-17 10:02:11 · 4788 阅读 · 0 评论 -
linux系统的WIFI开发相关文档
官方文档所在路径: http://linuxwireless.org/en/developers/Documentation IEEE 802.11 WIFI免费文档路径: http://standards.ieee.org/about/get/802/802.11.htmlInformation for原创 2012-12-04 10:57:57 · 1499 阅读 · 0 评论 -
信号量和互斥量的区别
信号量和互斥量的区别概念上的区别: 信号量:是进程间(线程间)同步用的,一个进程(线程)完成了某一个动作就通过信号量告诉别的进程(线程),别的进程(线程)再进行某些动作。有二值和多值信号量之分。互斥锁:是线程间互斥用的,一个线程占用了某一个共享资源,那么别的线程就无法访问,直到这个线程离开,其他的线程才开始可以使用这个共享资源。可以把互斥锁转载 2012-11-20 10:16:51 · 1103 阅读 · 0 评论 -
ubuntu下载特定版本内核源码的命令
下载内源代码,位置www.kernel.org. (注意:源码树内核的版本要和驱动程序运行的目标平台的内核版本一致)apt-cache search linux-source //搜索内核版本apt-get install linux-source-2.6.22 //下载特定版本内核源码原创 2012-11-16 18:10:30 · 4608 阅读 · 0 评论 -
KGTP在ubuntu上的部署安装步骤
使用KGTP前的准备工作Linux内核如果你的系统内核是自己编译的要使用KGTP,你需要打开下面这些内核选项:General setup ---> [*] Kprobes[*] Enable loadable module support --->Kernel hacking ---> [*] Debug Filesyste原创 2012-11-16 16:58:07 · 1484 阅读 · 0 评论 -
一个 灵活 轻量级 实时 Linux 调试器 和跟踪器:KGTP
KGTP(http://code.google.com/p/kgtp/) 是一个 灵活 轻量级 实时 Linux 调试器 和跟踪器。 KGTP is a flexible , lightweight and realtime Linux debugger and tracer.To use it, you don't need patch or rebuild the Linux转载 2012-11-08 22:00:46 · 1101 阅读 · 0 评论 -
从手机或其他设备中提取和解压boot.img与recovery.img
转自:http://blog.youkuaiyun.com/darkengine/article/details/7558711 boot.img与recovery.img的结构很相似,都是kernel加上一个根文件系统。所以是可以用同一个工具(脚本)来分解,下面以分解boot.img为例分析如下:1, cat /dev/block/mtdblock0 > /sdcard/boot.im转载 2012-11-16 11:11:10 · 23860 阅读 · 1 评论 -
OKL4 的故事
转自: 弯曲评论 [编者注:Gernot 的这篇 blog 介绍了一些 NICTA 和 OK-lab 的故事。关于,NICTA 和 OK-lab 的来历,读者如果感兴趣,可以阅读我以前写的这篇文章General Dynamics 收购 Open Kernel Labs (OK Labs). Gernot 在这篇博客中说到高通最早和 NICTA 合作的时候有两个需求, 一个是需要一个有内存隔转载 2012-11-08 21:46:17 · 2899 阅读 · 0 评论 -
android的system.img文件的解压和压缩工具的下载地址
system.img为yaffs2镜像 1.解包(解压) 对system.img的解包需要用到unyaffs这工具,下载地址:http://code.google.com/p/unyaffs/downloads/list 下载以后和system.img放入同一个文件夹 解包命令:./unyaffs system.img 2.打包(压缩)原创 2012-11-14 19:34:47 · 2188 阅读 · 0 评论 -
linux红外对管(距离传感器)驱动 分析
头文件:/** filename: rohm_scm_proximity.h*/#ifndef __ROHM_SCM_PROXIMTIY__#define __ROHM_SCM_PROXIMTIY__#define ROHM_PROXIMITY "rohm_proximity"#define PROXIMITY_DEVICE "rohm_proximity"原创 2012-11-27 11:30:37 · 2622 阅读 · 0 评论 -
linux中的杂项设备所使用的misc_register()和 misc_deregister() 原理分析
相关的宏,定义在 kernel/include/linux/miscdevice.h#ifndef _LINUX_MISCDEVICE_H#define _LINUX_MISCDEVICE_H#include #include /* * These allocations are managed by device@lanana.org. If you u原创 2012-11-26 14:15:19 · 8328 阅读 · 0 评论 -
linux摄像头驱动的拍照流程分析(针对展讯8810(ARM架构),android平台)
首先,我们根据 展讯 SC8810的datasheet的摄像原理相关章节,找到了摄像相关寄存器的名字(CAP_FRM_SIZE、CAP_IMG_DECI),通过在驱动目录(kernel/drivers/media/),对这些名字的搜索,很幸运的可以找到相关源文件。$ find kernel/drivers/media/ | xargs grep "CAP_FRM_SIZE"kernel/d原创 2012-11-26 10:29:46 · 3216 阅读 · 5 评论 -
linux耳机和耳机上按键的探测识别驱动原理【展讯8810平台】
===================== headset.h ===================== /* * Copyright (C) 2012 Spreadtrum Communications Inc. * filename: headset.h * This software is licensed under the terms of the GNU Gen原创 2012-11-10 12:10:46 · 3748 阅读 · 9 评论 -
Mstar虚拟按键触摸屏驱动(芯片msg2133,按键使用android虚拟按键实现,特定报点,识别为按键)
#ifndef __LINUX_MSTAR_MSG2133_TS_H__#define __LINUX_MSTAR_MSG2133_TS_H__//#define TS_DEBUG_MSG 1#define VIRTUAL_KEYS 1 //是否有按键#define MSG2133_UPDATE 1 //T卡升级功能#define TS_WIDTH_原创 2012-10-22 13:57:15 · 6971 阅读 · 21 评论 -
GRUB2的配置方法【涉及/etc/default/grub,/etc/grub.d/*】
介绍 GRUB 2 通过运行/etc/grub.d/folder 目录下的脚本来 建立配置文件 (grub.cfg) ,并且/etc/default/grub这个文件也可以配置。update-grub命令(手动运行,或更新内核的时候会被执行) 可以自动更新grub.cfg .这个命令会激活上面的脚本,并且会寻找系统中存在的操作系统和内核。一旦发现操作系统或内核,那么它们会被加入到 G原创 2012-10-13 09:08:02 · 20948 阅读 · 2 评论 -
使用fsck命令修复linux文件系统错误【避开引起系统崩溃,启动不了的"-a"选项】
附注: fsck.ext3扫描文件系统时一定要在单用户模式、修复模式或把设备umount后进行。如果扫描运行中的系统,会造成系统文件损坏。选择在单用户模式下运行# runlevel ---查看运行级别# runlevelN 2#init 1 --单用户模式(1 S),在转换成单用户模式时可能会需要输入root密码。以保证只有你一个人在使用系统。# init 1# f转载 2012-10-12 14:17:30 · 6693 阅读 · 0 评论 -
Grub Customizer 3.0 发布,GRUB 2 图形界面配置应用程序
Grub Customizer 是GRUB2的图形化管理程序。目前,它只提供GRUB2菜单选项编辑功能:重新排序、重命名或增加/删除选项。Grub Customizer会改变boot.cfg文件,所以如果你运行”sudo update-grub”,Grub Customizer作出的改变也不会被重置。3.0 版本改进内容包括:entries can be moved f转载 2012-10-18 09:02:38 · 4486 阅读 · 0 评论 -
卓胜微(MAXSCEND)芯片的cmmb驱动【ANDROID+展讯8810平台】
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #i原创 2012-08-23 20:45:07 · 2461 阅读 · 0 评论 -
交叉编译用于android系统里的C/C++应用程序/库文件(其实就是运行于linux之上的应用程序)。
Google推出的Android手机开发平台很受欢迎,今天我们来学习一下如何使用Android开发平台来测试C/C++应用程序以及库文件。 众所周知,Android手机开发平台上带有标准C库,我们可以写个C程序来试试看能不能在上面运行。。。 首先下载并安装交叉编译工具GNU/ARM Linux gcc:http://www.codesourcery.com/gnu_toolch转载 2012-11-20 18:15:58 · 2194 阅读 · 0 评论