自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Android编译完成后的代码结构

 Android编译完成后,将在根目录中生成一个out文件夹,所有生成的内容均放置在这个文件夹中。out文件夹如下所示:  out/  -- CaseCheck.txt  -- casecheck.txt  -- host    -- common    -- linux-x86  -- target    -- common

2009-11-30 16:06:00 1416 1

转载 Android的源代码结构

Google提供的Android包含了原始Android的目标机代码,主机编译工具、仿真环境,代码包经过解压缩后,第一级别的目录和文件如下所示:.|-- Makefile           (全局的Makefile)|-- bionic               (Bionic含义为仿生,这里面是一些基础的库的源代码)|-- bootloader       (引导

2009-11-30 16:01:00 992

转载 生产者-消费者问题实现 (linux下C语言)

操作系统的一个经典问题是"生产者-消费者"问题, 这涉及同步信号量和互斥信号量的应用, 在这里,我用线程的同步和互斥来实现. #include #include #include #include #include #define N 2   // 消费者或者生产者的数目#define M 10 // 缓冲数目int

2009-11-30 15:45:00 4383 2

转载 kbuild系统-内核模块的编译

  Linux内核是一种单体内核,但是通过动态加载模块的方式,使它的开发非常灵活方便。那么,它是如何编译内核的呢?我们可以通过分析它的Makefile入手。以下是一个简单的hello内核模块的Makefile.     ifneq ($(KERNELRELEASE),)  obj-m:=hello.o  else  KERNELDIR:=/lib/modules/$(shell

2009-11-29 23:46:00 1128

转载 基于Arm 的linux 的启动分析

 基于Arm 的linux 的启动分析目录:<bstyle=mso-bidi-font-weight:normal><span lang=EN-US style=font-size:12.0pt;font-family:宋体;mso-bidi-font-family:LMSans10-Regular-Identity-H;mso-f

2009-11-29 22:45:00 2630

原创 Ubuntu 9.04中下载编译Android源码

 总结出Ubuntu 9.04下编译Android源码的过程,便于大家参考; 一.PC工作环境准备 首先安装一些必须的工具包:(已安装工具包进行升级,未安装的进行下载安装)apt-get install flex bison gperf libsdl-dev libesd0-devapt-get install libwxgtk2.8-dev build-essenti

2009-11-29 18:15:00 2437

原创 linux 内核源代码目录结构概述

 进入linux源代码目录,会看到若干子目录和文件。现代操作系统一般由进程管理,内存管理,文件系统,驱动程序和网络协议栈组成。   arch : 包含了所有和体系结构相关的核心代码。它下面的每个子目录代表一种linux支持的体系结构。如arm目录就是与ARM体系结构兼容的CPU的子目录;/arch/i386则是intel CPU及其兼容体系结构的子目录.  drivers: 包含了系统

2009-11-26 21:16:00 2060

原创 LPC2xxx系列ARM启动代码分析 Init.s

;----------------可参照http://hi.baidu.com/hmos/blog/item/461babd358127434970a1677.html--------;引入的外部标号在这声明    IMPORT  __main                          ;C语言主程序入口     IMPORT  InitStack               

2009-11-26 21:04:00 971

转载 arm开发经验笔记

 前一段时间做了arm的一些开发,主要是编写了arm的启动软件和移植了uCOS-II到arm7。我做事情喜欢深入简出,及从最简单,最原理的方面先做一个框架,然后在这个框架里面进行补充。我还是一个很喜欢和别人讨论的人,希望有人可以给我提出意见和建议。我的这个心得很初级,都是一些基本的东西。现在拿出来和大家分享,希望在我毕业之前能给大家留一些纪念。^_^   由于这些东西发paper实

2009-11-12 17:28:00 798

转载 关于const char*, char const* and char *const 等的区别

 1 关于const char*, char const* and char *const 等的区别  2  3 助记方法:  4     把一个声明从右向左读  5 比如:  6 char * const cp;  7 //cp is a const pointer to char  8  9 const char * cp; 10 //cp is a poi

2009-11-12 14:27:00 857

原创 对ARM7 LPC2210的Bootloader源码分析

 对周立功公司开发板EasyARM LPC2210开发板Chenmingji写的Bootlaoder进行分析和解读。一、变(常)量声明    首先声明堆栈大小          ;define the stack size    ;定义堆栈的大小    SVC_STACK_LEGTH         EQU         0    FIQ_STACK_LEGTH   

2009-11-12 14:01:00 1103

转载 UCOS-II在LPC2210上的移植--OS_CPU_A.s

 UCOS-II在LPC2210上的移植--OS_CPU_A.sCPU: Philips ARM7 LPC2210OS: uC/OS-II 2.52IDE: ADS 1.2移植一个操作系统到一个CPU体系的结构上,移植者必须的要求:1、对目标体系结构要有很深的了解 -- ARM Architecture Reference Manual2、对OS原理要有较深

2009-11-12 09:55:00 961

转载 UCOS-II在LPC2210上的移植--OS_CPU_c.c

 UCOS-II在LPC2210上的移植--OS_CPU_c.c CPU: Philips ARM7 LPC2210OS: uC/OS-II 2.52IDE: ADS 1.2移植一个操作系统到一个CPU体系的结构上,移植者必须的要求:1、对目标体系结构要有很深的了解 -- ARM Architecture Reference Manual2、对OS原理要有较深入的了

2009-11-12 09:49:00 1088

转载 UCOS-II在LPC2210上的移植--OS_CPU.h

 UCOS-II在LPC2210上的移植--OS_CPU.h CPU: Philips ARM7 LPC2210OS: uC/OS-II 2.52IDE: ADS 1.2移植一个操作系统到一个CPU体系的结构上,移植者必须的要求:1、对目标体系结构要有很深的了解 -- ARM Architecture Reference Manual2、对OS原理要有较深入的了解 --

2009-11-12 09:41:00 1215

转载 linux中ELF加载过程分析

sys_execve   | - do_execve|| - search_binary_handler                     |- linux_binfmt= elf_format       |- elf_format-> load_elf_binary| - elf_entry = load_elf_interp()     

2009-11-07 21:28:00 4265 1

原创 C++编程基础:类中的常量

  首先看看常量定义规则:规则1:需要对外公开的常量放在头文件中,不需要对外公开的常量放在定义文件的头部。为了便于管理,可以把不同模块的常量集中放在一个公共的头文件中。规则2:如果某一常量与其他常量密切相关,应在定义中包含这种关系。而不应该给写孤立的值;例如:const  float  RADIUS=100;            const  float DLAMETER=RAD

2009-11-07 20:19:00 800 1

转载 ARM优化之局部变量的位宽

 这次说下局部变量的位宽对于程序的影响。大家都清楚,局部变量都是在栈中实现的,并且在函数调用结束时释放掉,所以有些人在定义局部变量的位宽时并没有仔细的考虑位宽的影响,随意定义。在一般的情况下,并不会造成很大的影响,但是在循环操作的情况下,就会影响程序的性能。下面这段程序,用了BIT_U16定义了局部变量i,j。汇编内嵌在C中。view plaincopy to clipbo

2009-11-07 15:59:00 1167

原创 ARM优化之函数的形参数量

 ARM的参数传递遵循ATPCS的规范,子程序间通过寄存器R0-R3来传递参数,返回值也通过R0来返回。这就造成一个问题,当构造超过4个参数的函数时,如何实现。翻阅了其他资料以及下面的代码比对表明,多出来的参数传递的时候,需要使用栈,而栈需要使用额外的指令以及对慢速存储单元的读写,所以不超过4

2009-11-07 15:26:00 1073

转载 arm c函数的调用过程arm汇编语言调用C函数之参数传递

 对于ARM体系来说,不同语言撰写的函数之间相互调用(mix calls)遵循的是 ATPCS(ARM-Thumb Procedure CallStandard),ATPCS主要是定义了函数呼叫时参数的传递规则以及如何从函数返回,关于ATPCS的详细内容可以查看ADS1.2Online Books ——Developer Guide的2.1节。这篇文档要讲的是汇编代码中对C函数调用时如

2009-11-07 00:39:00 6099 1

转载 浅析setup_arch()函数tag_list的uboot由来

 1.linux中//------------------------------------------------------arch/arm/kernel/setup.c->setup_arch()void __init setup_arch(char **cmdline_p){    struct

2009-11-06 23:57:00 1587

转载 NFS ROOT 启动内核的配置(UBoot)

 在一般的嵌入式系统开发中经常需要烧写内核文件和文件系统映像,为了保护和节省片子的烧写次数,为了方便我们开发的过程节省浪费在烧写上的时间,更多的是方便我们的开发不至于把系统上的文件搞的乱七八糟…其实,其实当我们的内核变大,板子Flash无法容纳内核和文件系统的时候,NFSROOT是个好的解决方案。因此想试试使用NFS ROOT:一、内核配置:添加内核对NFS的支持:n

2009-11-06 23:46:00 2707

转载 U-Boot如何为内核设置启动参数

 大家都知道U-Boot启动的时候会将启动参数的地址放入R2中,然后再启动内核。我们看看这些参数是如何设置的。首先看两个重要的数据结构:第一个是global_data,定义在include/asm-arm/global_data.h文件中:typedef    struct    global_data {    bd_t       

2009-11-06 23:35:00 1995

jijf 文件格式(JPEG)

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

2011-05-24

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

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

2009-05-18

空空如也

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

TA关注的人

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