自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小亮的专栏

嵌入式开发,安卓底层开发

  • 博客(68)
  • 收藏
  • 关注

转载 linux 进程内存解析

进程内存分配

2016-06-27 00:24:10 490

转载 函数堆栈的理解

函数堆栈

2016-06-27 00:21:35 1016

转载 C程序内存分配

C语言学习

2016-06-26 19:49:10 364

转载 C++ sizeof 使用规则及陷阱分析

1、什么是sizeof   首先看一下sizeof在msdn上的定义:   The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types). This keyword returns a value o

2016-04-17 22:19:38 343

转载 sizeof陷阱

以下程序会输出什么?[c]#include using namespace std;int main(void){int a = 1;printf("%d\n", sizeof(a++));printf("%d\n", a);}[/c]如果你第一次看到,可能会认为输出是:42不过,程序的真正输出是:

2016-04-17 19:10:40 345

转载 程序编译链接运行深入剖析

学C语言的第一个程序就是以下这个helloworld程序:123456#includeintmain(){    printf("hello, world!\n");}它通过gcc -o hello hello.c编译,然后通过./he

2016-04-17 19:05:38 362

转载 嵌入式Linux之我行——S3C2440上LCD驱动(FrameBuffer)实例开发讲解(二)

转载地址:http://blog.chinaunix.net/uid-22174347-id-1786943.html嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。共享资源,欢迎转载:http://hbhuanggang.cublog.cn

2015-07-21 15:43:44 498

转载 嵌入式Linux之我行——S3C2440上LCD驱动(FrameBuffer)实例开发讲解(一)

转载地址:http://blog.chinaunix.net/uid-22174347-id-1786942.html嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。共享资源,欢迎转载:http://hbhuanggang.cublog.cn

2015-07-21 15:40:10 530

转载 platform详解

作者:程姚根,华清远见嵌入式学院讲师。一、platform设备模型从Linux 2.6起引入了一套新的驱动管理和注册机制,platform_device和platform_driver,Linux中大部分的设备驱动都可以使用这套机制。platform是一条虚拟总线。设备用platform_device表示,驱动用platform_driver进行注册,linux platform

2015-07-15 16:32:13 1203

转载 AIDL在android系统中的作用

AIDL,Android Interface definition language的缩写,它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口。最近看了下AIDL在Android系统中的用法,在网上看到很多初学的朋友不太明白AIDL的实际作用,android提供了很多进程间通信的组件,像action、broadcast、contentprovide都可以实现进程间

2015-06-25 16:49:28 543

转载 Ubuntu10.10下不能make menuconfig问题解决

在Ubuntu下交叉编译Linux2.6内核,输入makemenuconfig发现有一些头文件找不到:root@loong:/opt/linux-2.6.39# make menuconfig  HOSTCC scripts/basic/fixdep  HOSTCC scripts/basic/docproc  HOSTCC scripts/kconfig/conf.o  HO

2015-06-17 17:05:33 606

转载 mount -t proc none /proc

linuxinitrd里的init脚本中的第一句mount -t proc /proc /proc就是把proc这个虚拟文件系统挂载到/proc目录,应该initrd也是一个系统,只是不完整,而它做的工作需要用到/proc,否则不能工作这种写法很让人误会如果是initrd中,应该写为mount -t proc proc /proc第二个proc将被显示在mount的输出中

2015-06-16 15:48:13 9133

转载 Linux源码下Makefile详解(参照Documentation\kbuild\makefiles.txt和资料)

1.Makefile的作用 (1)决定编译哪些文件 (2)怎样编译这些文件 (3)怎样连接这些文件,最重要的是它们的顺序如何2.Linux内核Makefile分类*********************************************************************  顶层Makefile:它是所有Makefile文件的核心,从总体上控制着

2015-06-12 17:33:25 862

转载 linux2.6 makefiles.txt学习及实例分析

本篇blog主要分为四部分,地一部分和第二部分主要是参考网上的文章,第三部分为自己在学习过程中总结的一些知识,第四部分想自己编写一个简单的Makefile,以巩固学习成果!    本篇blog目的:通过对Makefile的学习,进一步理解linux内核如何通过makefile实现对make过程的自动化,掌握makefile语言编写规则,最终实现自己能够编写出makefile文件。 

2015-06-12 17:30:56 1154

转载 bootm命令

进入bootm命令分析之前,先来看看README里面的几段话,简单翻译之制作Linux映像============使用uboot时,内核通常生成的文件"zImage"或"bzImage"是没用的。较新一些的内核原码会生成"uImage", 这个可以为uboot使用。"uImage"全用了一个工具"tools/mkimage"来封装压缩后的映像文件,在其头部添加一些信

2015-06-12 14:54:17 3436

转载 Bootm的流程分析

Bootm的流程分析一、在开始之前先说明一下bootm相关的东西。 1、首先说明一下,S3C2410架构下的bootm只对sdram中的内核镜像文件进行操作(好像AT91架构提供了一段从flash复制内核镜像的代码,不过针对s3c2410架构就没有这段代码,虽然可以在u-boot下添加这段代码,不过好像这个用处不大),所以请确保你的内核镜像下载到sdram中,或者在bootcmd下把f

2015-06-12 14:51:24 547

原创 kernel和u-boot,驱动,linux应用学习博客

专注于linux开发博客:http://blog.chinaunix.net/uid/20672257/cid-29612-list-1.html

2015-06-12 14:43:46 507

转载 u-boot启动内核的几种方式--bootm

转载:专注于linux开发-大牛      http://blog.chinaunix.net/uid-20672257-id-2899657.html分析uboot是如何启动内核的u-boot启动内核有以下几种方式:1、使用do_bootm_linux(),在/lib_arm/bootm.c定义,因为我们已经知道入口地址了,所以只需跳到入口地址就可以启动linux内核了

2015-06-12 14:01:49 1088

转载 bootm命令中地址参数,内核加载地址以及内核入口地址

bootm命令只能用来引导经过mkimage构建了镜像头的内核镜像文件以及根文件镜像,对于没有用mkimage对内核进行处理的话,那直接把内核下载到连接脚本中指定的加载地址0x30008000再运行就行,内核会自解压运行(不过内核运行需要一个tag来传递参数,而这个tag是由bootloader提供的,在u-boot下默认是由bootm命令建立的)。 通过mkimage可以给内核镜像或根文

2015-06-12 12:33:38 654

转载 uboot启动过程完全分析(mini2440)

注:原文转自http://www.cnblogs.com/heaad/archive/2010/07/17/1779829.html。 1.1       U-Boot工作过程 U-Boot启动内核的过程可以分为两个阶段,两个阶段的功能如下:       (1)第一阶段的功能Ø  硬件设备初始化Ø  加载U-Boot第二阶段代码到RAM空间Ø  设置好栈Ø  跳

2015-06-08 17:50:30 567

转载 .LDS 文件详解

最近在研究uboot,红色部分为我加上的注解 转载地址:http://blog.chinaunix.net/space.php?uid=23373524&do=blog&cuid=2324182lds文件与scatter文件相似都是决定一个可执行程序的各个段的存储位置,以及入口地址,这也是链接定位的作用。U-boot的lds文件说明如下:      SECTIONS{     

2015-06-08 17:48:59 1661

转载 Mini2440学习笔记(二)——GPIO

硬件连接:Mini2440有四个LED,使用的管脚是GPB5到GPB8,当管脚输出低电平时,led亮;六个按键使用的管脚是GPG0、GPG3、GPG5、GPG6、GPG7、GPG11,按下按键时,管脚是低电平状态。 GPIO寄存器:GPXCON:每两位配置一个管脚,00为输入,01为输出;GPXDAT:端口的数据寄存器,每一位表示对应管脚的状态,0为低电平,1为高电平;

2015-06-08 17:48:30 663

转载 作为一个新人,怎样学习嵌入式Linux?(转自韦东山老师)

12-04-18 23:33:07)转载▼标签: it在学习嵌入式Linux之前,肯定要有C语言基础。汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会)。C语言要学到什么程度呢?越熟当然越好,不熟的话也要具备基本技能。比如写一个数组排序、输入数字求和什么的。学C语言唯一的方法是多写程序多练习,编译出错没关系,自己去解决;执行出错没关系,自己去分析。以前我是用VC来练习C

2015-05-29 15:33:52 888 1

转载 arm-linux-gcc/ld/objcopy/objdump参数总结

-o 只激活预处理,编译,和汇编,也就是他只把程序做成obj文件 -Wall 指定产生全部的警告信息 -O2 编译器对程序提供的编译优化选项,在编译的时候使用该选项,可以使生成的执行文件的执行效率提高 -c 表示只要求编译器进行编译,而不要进行链接,生成以源文件的文件名命名但把其后缀由 .c 或 .cc 变成 .o 的目标文件 -S 只激活预处理和编译,就是指把文件

2015-05-29 11:57:34 504

转载 S3C2440存储控制器和MMU浅析

S3C2440存储控制器和MMU浅析K-Style转载请注明来自于衡阳师范学院08电2  K-Style  http://blog.csdn.net/ayangke,QQ:843308498 邮箱:[email protected]一、S3C2440存储控制器如果大家写过S3C2440的ARM裸机程序都应该知道通常SDRAM的起始地址是0X30000000,但

2015-05-27 10:15:15 698

转载 linux顶半部和底半部中断机制

[cpp] view plaincopy//tasklet使用模板  /*定义tasklet和底半部函数相关联*/  void xxx_do_tasklet(unsigned long);  DECLARE_TASKLET(xxx_tasklet,xxx_do_tasklet,0);  /*中断处理底半部*/  void xxx_do_taskl

2015-05-22 17:32:23 716

转载 C语言static关键字解析

1、概述  static 声明的变量在C语言中有两方面的特征:  1)、变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的区别。  2)、变量用static告知编译器,自己仅仅在变量的作用范围内可见。这一点是它与全局变量的区别。2、问题:Static的理解  关于static变量,请选择下面所有说法

2015-05-15 14:13:34 620

转载 c语言关键字volatile的用法3

在学习C关键词的时候,我们看到了一个新面孔——volatile。在程序员面试宝典中提到“关键字volatile的面试例题是考查嵌入式编程”,中间有一段解析:  回答不出这个问题的人是不会被雇佣的。我认为这是区分C程序员和嵌入式系统程序员的最基本的问题。搞嵌入式的家伙们经常同硬件、中断、RTOS等等打交道,所有这些都要求用到volatile变量。不懂得volatile的内容将会带来灾难。 假

2015-05-15 11:50:01 462

转载 详解volatile关键词的用法2

volatile 影响编译器的结果输出,volatile 修饰的变量标明随时可能发生变化的(是指可能被本线程外的其他机制修改:如其他线程,中断,硬件),与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。 例如: volatile int i=10; i

2015-05-15 11:47:35 733

转载 详解volatile关键词的用法1

from:http://baike.baidu.com/view/608706.htm 一,volatile是什么?         volatile是一个类型修饰符(type specifier),它跟const等一样,它是被设计用来修饰被不同线程访问和修改的变量。如果没有volatile,基本上会导致这样的结果:要么无法编写多线程程序,要么编译器失去大量优化的机会。

2015-05-15 11:45:23 355

转载 Android HAL实例解析---LED

转载博客:http://blog.csdn.net/hongtao_liu/article/details/6060734华清远见讲师  刘洪涛一、概述    本文希望通过分析台湾的Jollen的mokoid 工程代码,和在s5pc100平台上实现过程种遇到的问题,解析Andorid HAL的开发方法。     二、HAL介绍    现有HAL架构由Patrick

2015-03-24 18:47:47 1118

转载 Android如何获得系统(system)权限

Android中如何修改系统时间(应用程序获得系统权限){:122_323:}  在 android 的API中有提供 SystemClock.setCurrentTimeMillis()函数来修改系统时间,可惜无论你怎么调用这个函数都是没用的,无论模拟器还是真机,在logcat中总会得到"Unable to open alarm driver: Permission denied ".这

2015-03-24 17:56:31 653

转载 Android系统启动过程

链接地址:http://www.cnblogs.com/bastard/archive/2012/08/28/2660389.html首先Android框架架构图:(来自网上,我觉得这张图看起来很清晰)  Linux内核启动之后就到Android Init进程,进而启动Android相关的服务和应用。启动的过程如下图所示:(图片来

2015-03-17 11:52:22 534

转载 和菜鸟一起学c之函数指针

还有SD卡的文件格式识别还不会,等明天和飞刀一起讨论下,基本的Android的SD卡的自动挂载已经实现了,可惜只支持FAT格式的,EXT格式的他不支持,添加了那些其他格式的挂载还是不行,主要是识别还不知道怎么去实现。好了,既然这么着,还是把以前看的一些函数指针做个记录吧。因为linux驱动中很多很多都用到了函数指针,一开始我都觉得奇怪,后来才知道这个。都怪自己以前对于指针的一些知识学得太少了,太浅

2015-03-16 16:37:38 458

转载 C学习之回调函数

回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。回调函数的例子#include// 方法指针的格式为:int (*ptr)(char *p) 即:

2015-03-16 16:17:18 479

转载 和菜鸟一起学android4.0.3源码之USB wifi移植心得

转载地址:http://blog.csdn.net/eastmoon502136/article/details/7850157    一天又过去了,台风也走了有些时候了。想了想,自己还是冲动了一把,不该发那个邮件的,既然发了,也不后悔了。知道了所有也未必不是一件好事。恩,剩下的就好好做自己要做的事情吧。对于usb wifi,老早就在调试了,只是碰到了很多问题,加上其他的事情也

2015-03-14 18:14:44 2453

转载 和菜鸟一起学android4.0.3源码之按键驱动短长按功能

第一:按键ADB调试1>    adb shell getevent中获取到的屏幕事件的坐标转换   通过使用adb shell getevent,可以得到如下设备操作后的指令,具体表示的含义,可以参考网上很多的文章,这里就不再叙述这里的0035和0036分别表示屏幕上的X坐标和Y坐标,后面的值表示具体的坐标点,通过16进制转换可以得到值1142和1527,而我

2015-03-13 18:40:17 1418

转载 Android中LCD背光驱动

其实Android的底层就是Linux,所以其驱动本质就是Linux驱动,但是这些Linux驱动是服务上层Android的,所以需遵循上Android的一些接口规范。所以涉及到的Android驱动都应应密切关注上层传递的接口。本文介绍的LCD背光驱动就是从上层一直往下层展现,但是笔者毕竟不是专注于Android上层,碍于知识不充裕,所以对上层的东西介绍得相对简单。1.Android的Set

2015-03-09 18:29:36 697

转载 Android中LCD背光驱动

Mg Android中背光系统架构Email:[email protected]:http://blog.csdn.net/yinwei520Author:YwwTime:2011-9-24Update:(转载请注明出处,谢谢)         不知不觉喜欢上了写Blog,这还是一种不错的休闲方式,所噶~~,会不会也害怕过周末呢?因为寂寞

2015-03-09 18:25:40 1643

转载 platform设备驱动全透析

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://21cnbao.blog.51cto.com/109393/3376091.1 platform总线、设备与驱动在Linux 2.6的设备驱动模型中,关心总线、设备和驱动这3个实体,总线将设备和驱动绑定。在系统每注册一个设备的时候,会寻找与之匹配的驱动;相反的,

2015-03-09 17:48:57 430

空空如也

空空如也

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

TA关注的人

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