自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (2)
  • 收藏
  • 关注

原创 LD script

Ld 的脚本命令参考

2010-05-31 23:33:00 3075

原创 u-boot-1.3.2 run in flash for at91rm9200

主要目的:移植u-boot-1.3.2到K9开发板,使其直接从FLASH启动,而不是通过boot.bin和u-boot压缩<a onclick="javascript:tagshow(event, %CE%C4%BC%FE);" href="javascript:;" target="_self">文件启动。实现u-boot的非压缩式的从FL

2010-05-29 22:52:00 1459

原创 AT91RM9200 EK or DK开发参考

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <object class

2010-05-29 22:37:00 3318 1

转载 关于C++中函数返回引用的讨论

从函数返回引用确保其引用的对象在函数执行完后仍然存在。引用类型返回值的主要特征是可以作为左值,这意味着我们可以在赋值语句的左边使用返回引用的函数的结果。 永远不要从函数中返回局部变量的引用  C++中,返回引用是一个比较晦涩的概念。在书中,对此仅仅做了一个一般的介绍,并没有展开。我觉得有必要对此进行一定的展开。(1)首先,返回引用,要求在函数的参数中

2010-05-27 18:19:00 1942 1

转载 traceroute工作原理

Normal 0 7.8 pt 0 2 false false false MicrosoftInternetExplorer4 <!-- /* Font

2010-05-27 18:13:00 2204 1

转载 快速重建system.img的方法

每次修改android源码后,经历make的过程 太过漫长,刚才找到一个快速重建 system.img镜像文件的方法:以修改services模块为例,命令如下:cd frameworks/base/servicesmm~/YOUDIR/out/host/linux-x86/bin/mkyaffs2image -f ~/YOUDIR/out/target/product/

2010-05-27 17:38:00 2173

转载 移植android 到定制开发板

From http://android.tgbus.com/Android/androidnews/200902/177292.shtml 移植Android的kernel到实际的硬件平台上,很多人很早就做过这件事了,不过相关的文档和经验总结不多,我就写一个吧,也为了自己记录一下大致的流程,以后好继续。  1   Android内核Porting相关背景知识  1.1   运行平台

2010-05-27 17:36:00 5823

原创 android 交叉编译工具的认识

可以通过分析/development/ndk/build/tools/build-toolchain.sh,我们可以得知toolchain的源代码是由/development/ndk/build/toolchains/archive/toolchain/source.txt文件指定。

2010-05-27 17:15:00 1866

原创 Android 模拟器的认识

Android中提供了一个模拟器来模拟ARM核的移动设备。Android的模拟器是基于QEMU开发的,QEMU是一个有名的开源虚拟机项目(详见http://bellard.org/qemu/),它可以提供一个虚拟的ARM移动设备。Android模拟器被命名为goldfish,用来模拟包括下面一些功能的ARM SoC:·  ARM926ej-S CPU ·  Thumb suppor

2010-05-27 17:04:00 3211 1

原创 android 内核代码的获取,编译和使用

Reference: http://www.williamhua.com/2009/04/29/git-and-repo-for-dummies/                  http://www.williamhua.com/2009/04/30/how-to-build-android-15-kernel-image/ 关于获取,编译和使用android platform 代

2010-05-27 15:39:00 4192

原创 Android ramdisk.img system.img userdata.img

ramdisk.img 是android系统的根文件系统,系统内核会加载它。它的目录结构如下:   /system   /sys   /sbin   /proc   init.rc   init.goldfish.rc   init   /dev   default.prop   /data system.img 是android系统中存放系统文件的

2010-05-27 11:34:00 6303

转载 Android init 启动过程分析2

主進程runSelectLoopMode()5.Runs the zygote processs select loop runSelectLoopMode(), Accepts new connections as they happen, and reads commands from connections one spawn-requests worth at a time.如果运

2010-05-26 23:37:00 2866

转载 Android init 启动过程分析1

  未完 资料:Simple Guide for Porting Android Kernelhttp://feixf1974.javaeye.com/blog/187773分析android的启动过程,从内核之上,我们首先应该从文件系统的init开始,因为 init 是内核进入文件系统后第一个运行的程序,通常我们可以在linux的命令行中指定内核第一个调用谁,如果没指定那么内

2010-05-26 23:34:00 2363

转载 Android底层启动过程(应该说是应用进程init启动后的一些步骤)

对于关注Android底层的朋友来说,其具体的启动过程应该是比较吸引我们的。但是很多启动文件什么的,都得adb push到host上来看,挺不方便的,都怪Android自带的Toolbox太简略了。所以在深入了解Android的启动流程之前,我们来把 Busybox安装到Android上去,这样,就有很多工具供我们使用了。首先去busybox主页 下载最新版本的源代码,然后用arm的交叉编译器编译

2010-05-26 23:23:00 1820

转载 为Android加入busybox工具

我们可以通过两种方式进入Android的console:1. 直接执行命令emulator -shell;2. 在启动emulator后,通过命令adb shell进入。之后我们就可以使用一些linux下常用的命令了,如ls,cat等。然而Android自带的toolbox(位于/system/bin中)也太简略了点,有些命令如find,Android并不支持或者支持得不好。下面将介绍

2010-05-26 23:17:00 1024 2

转载 windows操作系统同步

一:Critiacal_Section1:使用临界区的目的是确保资源每次只能被一个线程所使用。一个线程进入某个临界区,另一个线程就不能够再进入同一个临界区。临界区不是核心对象,它只存在进程的内存空间。没有所谓的句柄,只能在同一进程中的线程间完成同步。2:使用函数    VOID InitializeCriticalSection(LPCRITICAL_SECTION lpCri

2010-05-21 10:22:00 1369

原创 volatile用法总结

首先:volatile是变量修饰符,而synchronized则作用于一段代码或方法;1:例如int geti1() {return i1;}由于每个线程可以有它自己的变量拷贝,而这个变量拷贝值可以和“主”内存区域里存放的不同。导致存在一种可能:“主”内存区域里的i1值是1,线程1里的i1值是2,线程2里的i1值是3——这在线程1和线程2都改变了它们各自的i1值,而且这个改变还

2010-05-21 09:35:00 996

原创 线程等待 WaitFor...

一:BOOL GetExitCodeThread(HANDLE hThread, LPDWORD lpExitCode);该函数可以决定一个线程是否还在执行,只要不断的检测返回值就可以判断线程是否结束。但是不断的检测会浪费CPU事件。常说的busy loop就是这种现象。二:DWORD WaitForSingleObject(HANDLE hHandle, DWORD dwMill

2010-05-20 18:39:00 1685

转载 带你全面了解APR ARP协议详解

ARP(AddressResolutionProtocol)地址解析协议用于将计算机的网络地址(IP地址32位)转化为物理地址(MAC地址48位)[RFC826]。ARP协议是属于链路层的协议,在以太网中的数据帧从一个主机到达网内的另一台主机是根据48位的以太网地址(硬件地址)来确定接口的,而不是根据32位的IP地址。内核(如驱动)必须知道目的端的硬件地址才能发送数据。当然,点对点的连接是

2010-05-20 18:31:00 3935

转载 ARP

ARP,即地址解析协议,实现通过IP地址得知其物理地址。在TCP/IP网络环境下,每个主机都分配了一个32位的IP地址,这种互联网地址是在网际范围标识主机的一种逻辑地址。为了让报文在物理网路上传送,必须知道对方目的主机的物理地址。这样就存在把IP地址变换成物理地址的地址转换问题。以以太网环境为例,为了正确地向目的主机传送报文,必须把目的主机的32位IP地址转换成为48位以太网的

2010-05-20 18:25:00 846

转载 DHCP工作原理

DHCP的工作原理视乎客户端是否第一次登录网路﹐DHCP的工作形式会有所不同。第一次登录的时候﹕1.      寻找Server。当DHCP客户端第一次登录网路的时候﹐也就是客户发现本机上没有任何IP资料设定﹐它会向网路发出一个DHCPDISCOVER封包。因为客户端还不知道自己属于哪一个网路﹐所以封包的来源地址会为0.0.0.0﹐而目的地址则为255.255.255.25

2010-05-20 18:12:00 1192

转载 Peer-to-Peer Communication Across Network Address Translators

from http://www.bford.info/pub/net/p2pnat/Bryan FordMassachusetts Institute of Technologybaford (at) mit.eduPyda SrisureshCaymas Systems, Inc.srisuresh (at) yahoo.comDa

2010-05-10 15:08:00 1468

原创 HOOK钩子机制学习笔记(1)

一、什么是钩子(hook)    Windows系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实现的。钩子(hook)是一种特殊的消息处理机制,钩子可以监视系统或进程中的各种事件消息,截获发往目标窗口的消息并进行处理。这样,我们就可以在系统中安装自定义的钩子,监视系统中特定事件的发生,完成特定的功能,比如截获键盘、鼠标的输入,屏幕取词,日志监视等等。  

2010-05-08 11:49:00 3659 7

原创 包级别的 TCP/UDP 负载均衡和NAT(Network Address Translate)

作者: <a title="Nety" onclick="window.open(/control/postMessage.b?receiverName=Nety&receiver=162936,发送短消息,width=310,height=265)" href="javascript:void(0);" title="Nety">Nety                 

2010-05-08 11:44:00 2598 3

原创 递归锁与非递归锁

   * 非递归锁:非递归锁提供互斥的一种高效的形式,它定义一个临界区,每一时刻只有单个线程可在其中执行。它们之所以是非递归的,是因为当前拥有锁的线程在将其释放前不可以再次获取它。否则,就会立即发生死锁。SunOS 5.x通过它的mutex_t、rwlock_t,和sema_t类型(POSIX Pthreads不提供后两种同步机制)为非递归锁提供支持

2010-05-08 11:40:00 1661 1

原创 HTTP协议--处理状态和返回状态码含义

HTTP 处理状态。当一个XMLHttpRequest初次创建时,这个属性(readystate)的值从0开始,直到接收到完整的HTTP响应,这个值增加到4。5个状态中每一个都有一个相关联的非正式的名称,下表列出了状态、名称和含义:状态    名称        描述0    Uninitialized       初始化状态。XMLHttpRe

2010-05-08 11:39:00 7030

原创 setsockopt 设置socket 详细用法

1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL));2. 如果要已经处于连接状态的soket在调用clo

2010-05-08 11:37:00 890

原创 设备坐标和逻辑坐标

要用到两个函数:CDC::LPtoDP  将逻辑坐标转换为设备坐标CDC::DPtoLP  将设备坐标转换为逻辑坐标 设备坐标(Device Coordinate)又称为物理坐标(Physical Coordinate),是指输出设备上的坐标。通常将屏幕上的设备坐标称为屏幕坐标。设备坐标用对象距离窗口左上角的水平距离和垂直距离来指定对象的位置

2010-05-07 14:44:00 1299

原创 基于VC++的GDI常用坐标系统及应用

 在Windows应用程序中,只要进行绘图,就要使用GDI坐标系统。Windows提供了几种映射方式,每一种映射都对应着一种坐标系。例如,绘制图形时,必须给出图形各个点在客户区的位置,其位置用x 和y两个坐标表示,x 表示横坐标,y表示纵坐标。在所有的GDI绘制函数中,这些坐标使用的是一种“逻辑单位”。当GDI函数将结果输出送到某个物理设备上时,Windows将逻辑坐标转换成设备坐标(如屏

2010-05-07 14:20:00 1159 1

原创 Window 中窗口的层次关系以及窗口的属性

Window 窗口层次关系  相信在Window 下面编程的很多兄弟们都不是很清楚Window中窗口的层次关系是怎么样的,这个东西很久已经研究过一下,后来又忘记了,今天又一次遇到了这个问题,所以便整理一下。下面就说说Window中桌面(Deskkop)以及顶层窗口,以及子窗口之间的关系。    在Window 的图形界面下,最基本显示信息的元素就是窗口,每一个Window

2010-05-04 18:28:00 782

原创 消息WM_SIZEPARENT

每个欲参与分配客户区的子窗口都要响应这个消息,除非这个子窗口是那个特定的子窗口。    响应这个消息的子窗口至少要做两件事:1,将可用的父窗口客户区切去自己所占据的一块。2,根据消息参数的指示,将自己的大小和位置调整到刚好容纳到自己所占据的区域里或不做调整。    下面详细介绍一下函数CWnd::RepositionBars()和消息WM_SIZEPARENT。  

2010-05-02 22:55:00 1385

jijf 文件格式(JPEG)

JIJF文件格式的详细介绍,是JPEG图像的文件格式

2011-05-24

linux设备驱动程序编程第三版

附件是linux设备驱动程序编程第三版, 英文的

2009-05-18

空空如也

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

TA关注的人

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