自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

转载 MTK camera启动流程

Camera的框架分为Kernel部分和hal部分,其中kernel,负责具体型号的sensor的id检测,上电,以及在preview、capture、初始化、3A等等功能设定时的寄存器配置;isp driver,通过DMA将sensor数据流上传;HALimageio,主要负责数据buffer上传的pipe;drv,包含imgsensor和isp的hal层控制;feature io,包含各种3A等性能配置;这篇内容主要介绍开机过程中以及上电流程等内容。通过上面的代码流程,可以知道上开机时,camera流程

2022-09-07 11:58:24 1627

转载 浅聊SRAM和DRAM的区别

SRAM和DRAM都是RAM,  中文名叫随机存储器, 随机是怎么意思呢? 意思是, 给定一个地址, 可以立即访问到数据(访问时间和位置无关), 而不像咱们熟悉的磁带, 知道最后一首歌 在最后的位置, 却没法直接一下子跳到磁带的最后部门, 所以磁带不是随机存储器, 而是顺序存储器。       来看看SRAM的电路:              上面是能保存SRAM的一个bit,  你...

2018-12-13 14:58:27 988

转载 如何用adb连接android手机?(我的亲自经历)------ 顺便说说unable to connect to 192.168.1.100:5555的原因和解决方法

adb是什么呢? 我就不多说了, 对于搞android开发的人来说, 一定不陌生。 本文讲述如何用adb来连接手机。                利用adb来连接手机, 有两种方式: 1, wifi,  2, usb.        前提条件: 下载adb, 最好把对应的文件置于cmd.exe同目录下。         1. 通过wifi, 利用adb来连接手机。   ...

2018-12-13 14:55:34 4632 1

转载 mtk平台充电器检测

平台:mt6735 5.1首先来看BAT_thread()。 void BAT_thread(void) { static kal_bool battery_meter_initilized = KAL_FALSE; if (battery_meter_initilized == KAL_FALSE) { batter...

2018-12-06 17:52:39 969

转载 union 共用体名

union 共用体名{                           数据类型 成员名;                           数据类型 成员名;                         ...                     } 变量名; 共用体表示几个变量共用一个内存位置,在不同的时间保存不同的数据类型和不同长度的变量。在union中,所

2016-05-05 09:40:56 658

转载 恢复 git reset -hard 的误操作

转帖:http://hi.baidu.com/configuration/item/97fddeea252818d0eb34c964有时候使用Git工作得小心翼翼,特别是涉及到一些高级操作,例如 reset, rebase 和 merge。甚至一些很小的操作,例如删除一个分支,我都担心数据丢失。不 久之前,我在做一些大动作(rebasing)之前,我总是备份整个版本库,以防万一。直

2014-10-09 11:55:20 621

转载 分析kernel的initcall函数

先来看看这些initcall函数的声明:/* include/linux/init.h *//* initcalls are now grouped by functionality into separate * subsections. Ordering inside the subsections is determined* by link order. * For b

2014-10-06 09:23:24 604

转载 Linux下的函数执行时间的统计方法

如何测试某个函数的执行时间是做实验时经常用到的功能,在此比较Linux下的测试函数,主要是其精确度。我们采用统一的测试标准程序(standard.c): #include #define MAX 1000    /* the loop count */ /* function: do loop operation * input: NULL * output: counte

2014-08-22 14:45:11 1546

原创 MTK平台LCD驱动框架详解(二)

上篇博文说到了mtkfb_probe函数,本文在说mtkfb_probe函数之前。我还是打算在从应用程序的调用开始分析下具体的调用过程。这是我们理解驱动框架的核心,而并不是简单的接受。

2014-08-16 17:29:42 5444 2

原创 MTK平台LCD驱动框架详解(一)

许多学习嵌入式的进入MTK开发平台,很多东西都会感到很陌生。在MTK平台上你可以简简单单几分钟就点亮一块屏。加上MTK快速开发的节奏,也很少有时间自己整理学习。如果不思进取,不加班加点学习。很容易就慢慢……。这也难怪有些人说MTK造就了一批懒人,毁掉了一批工程师。但其实都是基于linux开发,核心的东西都是一样一样的。我刚入行业,在迷茫之际,自己整理跟踪源码。想慢慢找回自己熟悉的感觉……

2014-08-12 21:11:38 10108 3

转载 LCD 驱动过程详解

MTK 平台LCD 驱动的整个过程的讲解MTK_LCD_Driver代码的路是在/mediatek/source/kernel/driver/vedio/mtkfb.cmodule_init(mtkfb_init);模块初始化函数int__init mtkfb_init(void){int r = 0;MSG_FUNC_ENTER();

2014-07-22 14:12:13 2500

转载 Spin lock 与mutex 的区别--2011.01.06

POSIX threads(简称Pthreads)是在多核平台上进行并行编程的一套常用的API。线程同步(Thread Synchronization)是并行编程中非常重要的通讯手段,其中最典型的应用就是用Pthreads提供的锁机制(lock)来对多个线程之间共 享的临界区(Critical Section)进行保护(另一种常用的同步机制是barrier)。Pthreads提供了多种锁机

2014-05-30 19:53:02 603

原创 s3c6410时钟初始化

今天自己写bootloader做时钟初始化时遇到的问题,特记录下来。为了方便理解,我大部分都有截图, 在此我先说明下,图均来自数据手册。也希望看了本篇文章的同志多多参看数据手册才能理解的更加透彻,才能真正的锻炼自己的能力。下面程序部分我也拆分成了5个部分分别解释,最后也给出了整个程序。本文如果有什么错误的地方,欢迎各位批评指正,不甚感激。    6410有3个内部PLL(Phase Loc

2014-05-30 16:09:47 1105

原创 寄存器操作之readb(), readw(), readl(),writeb(), writew(), writel() 宏函数

readb/writeb 就是操作 8 bit 寄存器,readw/writew 操作 16 bit 寄存器,readl/writel 操作32 bit 寄存器。函数原型

2014-04-27 19:38:23 2398

原创 uboot启动代码分析之系统引导时为什么要关闭Caches?

系统引导时为什么要关闭Catchs?一、引言U-Boot 1.1.6中有如下代码:[plain] view plaincopyprint?/*  *************************************************************************  *  * CPU_i

2014-04-19 18:06:43 2767

转载 Ubuntu9.10下安装配置tftp服务器

1、安装软件      $ sudo apt-get install tftp tftpd      $ sudo apt-get install openbsd-inetd2、创建工作目录      $ cd /      $ sudo mkdir tftpboot      $ sudo chmod 777 tftpboot3、修改配置文

2014-04-18 12:00:14 693

原创 从零写bootloader--第二阶段启动的实现

说明:第一阶段和第二阶段具体细节未做说明,旨在整个启动流程,即如何自己实现bootloader的整体思维。代码附带贴出,可以参考。在第一阶段start.s中未完成的工作只剩下main函数。main函数的工作如下:1、从NandFlash中把内核读入内存2、设置需要传递的参数3、跳转执行第一阶段代码与下面代码一起便可启动内核,具体不在此分析,如不理解,可以参看uboot源码b

2014-04-17 18:22:17 795

原创 Codeblocks中文乱码原因分析和解决…

1.Code::Blocks 编辑器保存源文件用的编码。  默认情况下,是保存为windows本地编码的,也就是WINDOWS-936字符集,也就是GBK编码。 但是很神奇的是,GCC编译器默认编译的时候是按照UTF-8解析的。你存成GBK,但是当成UTF-8解析,这还能编译通过,这才有鬼了,所以这两个地方编码不统一好,编译的时候报错:error:converting to executi

2014-04-17 15:10:42 3086 1

原创 Nand Flash的位反转现象

Nand Flash由于本身硬件的内在特性,会导致(极其)偶尔的出现位反转的现象。所谓的位反转,bit flip,指的是原先NandFlash中的某个位,变化了,即要么从1变成0了,要么从0变成1了。Nand Flash的位反转现象,主要是由以下一些原因/效应所导致:1.漂移效应(Drifting Effects)漂移效应指的是,Nand Flash中cell的电压值,慢

2014-04-17 15:10:40 2671

原创 返回连接寄存器【LR】详解

异常的发生会导致程序正常运行的被打断,并将控制流转移到相应的异常处理(异常响应),有些异常(fiq、irq)事件处理后,系统还希望能回到当初异常发生时被打断的源程序断点处继续完成源程序的执行(异常返回),这就需要一种解决方案,用于记录源程序的断点位置,以便正确的异常返回。 类似的还有子程序的调用和返回。在主程序中(通过子程序调用指令)调用子程序时,也需要记录下主程序中的调用点位置,以便将

2014-04-17 15:10:38 5020

转载 全局变量、局部变量、静态全局变量…

全集变量、局部变量、静态全局变量、静态局部变量在内存中如何存储,有什么区别,栈和堆的区别,这都是C/C++的基础问题。在各种招聘笔试面试中,经常都能够遇到与之相关的问题。前些日子我看了一些与之相关的文章,现在总结一下存放于此。先分析一下四种变量的区别: 一、先由程序的内存分配说起,一个完整的C/C++程序在运行时会占用的内存分为几个部分。栈(stack):由编译器自动分配释放,存

2014-04-17 15:10:36 631

原创 为uboot添加简单命令hello

1、先在common目录下新建一个cmd_hello.c文件,内容如下: #include#include#include#include#include#include#include#include#includeint do_hello (cmd_tbl_t *cmdtp, int flag, intargc, char *argv[]){ int i; pri

2014-04-17 15:10:34 773

转载 为sourceinsight添加makefil…

原文地址:为sourceinsight添加makefile和kconfig文件作者:finrod 在用sourceinsight查看linux内核源码的时候,大家会发现不能查看源码中的makefile和kconfig代码,即不能搜索到makefile和kconfig文件。这是因为sourceinsight默认是不选makefile的,也没有konfig这种类型的文件。下面就说如何让sour

2014-04-17 15:10:31 843

原创 makefile中命令前加一个@。。

通常,make会把其要执行的命令行在命令执行前输出到屏幕上。当我们用“@”字符在命令行前,那么,这个命令将不被make显示出来,最具代表性的例子是,我们用这个功能来像屏幕显示一些信息。如:@echo 正在编译XXX模块......当make执行时,会输出“正在编译XXX模块......”字串,但不会输出命令,如果没有“@”,那么,make将输出:echo 正在编译XXX模块......

2014-04-17 15:10:29 2960

转载 $(@:_config=)什么意思?

原文地址:$(@:_config=)什么意思?作者:小胖   已经编译出bin文件了,现在研究一下makefile,把遇到的问题记录下来: 1.  $(@:_config=)什么意思?网上查到如下解释这里使用了Makefile中的替换引用规则,类似常看到的例子obj=$(srcfiles:%.c=%.o): 由.c得到对应的.o文件.这里是一样的道理: $(@:_config=) 

2014-04-17 15:10:27 570

原创 滤波电容、去耦电容、旁路电容作用…

搞不清这几种电容的作用,偶然看到此文 转过来:滤波电容、去耦电容、旁路电容作用滤波电容用在电源整流电路中,用来滤除交流成分。使输出的直流更平滑。去耦电容用在放大电路中不需要交流的地方,用来消除自激,使放大器稳定工作。旁路电容用在有电阻连接时,接在电阻两端使交流信号顺利通过。1.关于去耦电容蓄能作用的理解1)去耦电容主要是去除高频如RF信号的干扰,干扰的进入方式是通过电磁辐射。而实际

2014-04-17 15:10:25 1121

原创 VMware虚拟机 Ubuntu12.04&nb…

注:本文转载至:http://blog.csdn.net/xxd851116/article/details/7038260;自己亲试成功,不过最后配置ubuntu无线网络信息时,不一定能成功,address与原WIN7的IPv4靠近取值一般就能成功。第1步:查看本地主机无线网卡名称Ubuntu12.04 与主机共享无线上网的设置" />第2步:修改Virtualbox中虚拟机网络网卡设置

2014-04-17 15:10:23 591

原创 exit(0)与exit(1)、return区别

exit(0):正常运行程序并退出程序;exit(1):非正常运行导致退出程序;return():返回函数,若在主函数中,则会退出函数并返回一值。详细说:1. return返回函数值,是关键字; exit 是一个函数。2.return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。3. return是函数的退出(返回);exit是进程的退出。

2014-04-17 15:10:21 2151

原创 STC89C52RC、22.1184M晶振,产生11…

STC89C52RC、22.1184M晶振,产生115200波特率。   这问题还纠结了很久,因为在普通情况下算出来的T1时间常数带小数点,这样通常会导致通信结果出错。其实通过电源控制寄存器PCON将波特率倍频下就解决问题了。下面简单给出计算过程:   1、首先T1时间常数X的值为:      X = 2^8 -2^SMOD * 晶振频率 / (384 * 波特率);   2、

2014-04-17 15:10:18 4128 1

转载 C语言中EOF的应用

原文地址:C语言中EOF的应用作者:sundaecatC语言中EOF的应用2008年06月26日 星期四 13:581.5.1.文件复制借助于getchar 与putchar 函数,可以在不了解其它输入/输出知识的情况下编写出数量惊人的有用的代码。最简单的例子就是把输入一次一个字符地复制到输出,其基本思想如下:读一个字符while (该字符不是文件结束指示符)输

2014-04-17 15:10:16 475

原创 ubuntu12.04 s3c6410 内核编译问题

问题一:Installncurses(ncurses-devel) and try again      ncurses是字符终端下屏幕控制的基本库( 提供字符终端处理库,包括面板和菜单)。可能很多新开发的程序已经不再使用。假如要编译一些老的程序,还是会经常碰到。解决这个问题可以通过下面的解决方法来搞定。打开一个终端输入下面这条语句按回车进行安装即可。      命令:apt

2014-04-17 15:10:14 525

原创 从零写bootloader--第一阶段启动的实现

韦东山视频学习笔记。平台JZ2440。CPU为S3C2440A,NandFlash型号为K9F2G08U0M。本文如果有什么错误的地方,欢迎各位批评指正,不甚感激。注:第一阶段部分函数未完成,还不能启动内核一、剖析实现从零写bootloader我们所要做的工作:        要想从零写出自己的bootloader,我们得先知道bootloader的目的是干嘛。就好像我们做事,得先明确

2014-04-17 14:38:58 1542

转载 为什么adrl r2,mem_cfg_val这里不用ldr r2,=mem_cfg_val

请教书中sdram裸机代码memsetup:mov r1, #MEM_CTL_BASEadrl r2,mem_cfg_valadd r3,  r1,#521:ldr r4,  [r2],#4str r4,  [r1],#4cmp r1,r3bne 1bmov pc,lrmem_cfg_val:  .long 0x22011110  .long 0

2013-06-26 21:03:19 516

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除