自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

《Essential Linux Device Drivers》linux系统的启动

《Essential Linux Device Drivers》翻译笔记002by muge0913整装待发Linux 已经跋涉了许多的地域,成为一门艺术。所以你可以基于它来学习操作系统的概念、处理器体系结构甚至工业领域。当你学习某一设备驱动子系统所使用的技术时,可以更深入地探索其背后潜在的设计由来。在没有明确说明的情况下,书中都假定为 32 位 x86 体系结构。但是,本...

2011-09-27 15:45:00 169

《Essential Linux Device Drivers》linux那些事

《Essential Linux Device Drivers》翻译笔记整理001by muge0913演化Linux于 1991 年起源于一位名为 Linus Torvalds 的芬兰大学生的业余爱好,但很快就发展成为受全球欢迎的先进的操作系统。 Linux 第一次发布时仅支持 Intel 386 处理器,但是后来,内核在复杂性上逐步增加,可以支持众多的体系结构、多处理机系统和高性能集群。 ...

2011-09-26 19:41:00 209

s3c6410裸机程序源码

min6410 裸机程序源码:http://store.taobao.com/shop/view_shop.htm?mytmenu=mdianpu&utkn=g,gm3teojshbqtamjugq1316949598428&user_number_id=533685662

2011-09-25 19:48:00 96

Android培训班(73)Dex文件里类定义dvmDefineClass

接着下来,来分析怎么样加载方法的代码,loadMethodFromDex函数的代码如下:staticvoidloadMethodFromDex(ClassObject*clazz, const DexMethod*pDexMethod, Method*meth){这个函数传入三个参数,第一个参数clazz是类相关信息;第二个参数pDexMethod是要加载的方法相关信息;第三个参数me...

2011-09-25 18:50:00 74

Android培训班(72)Dex文件里类定义dvmDefineClass

/*found a match, try to load it */ clazz =loadClassFromDex(pDvmDex, pClassDef, loader);这行代码是已经发现合适的类,并且找到相应的Dex文件时,就可以调用函数loadClassFromDex来加载类到内存,并准备好可以运行的状态。 if(dvmCheckException(self...

2011-09-24 20:22:00 52

Linux设备驱动模块编程02

其中用到了EXPORT_SYMBOL宏来表明导出printMSG这个符号。还有一个EXPORT_SYMBOL_GPL宏,导出的符号具有GPL授权。内核所有的导出符号可以通过 : cat /proc/kallsyms来查看,太多了,所以最好导出到一个文件中慢慢看。在其中就可以发现printk等等我们常见的内核函数。现在我们写一个测试模块B,他将调用A中的printMSG函数。B的源码和A大致一样...

2011-09-24 19:59:00 71

Linux设备驱动模块编程01

Linux设备驱动学习1.linux设备驱动程序的作用简单的说,驱动程序告诉了我们可以提供了那些能力,但是没有告诉我们怎么使用这些能力。按照《linux设备驱动程序》上的说法,前一部分叫做”机制”,后面的叫作”策略”。linux设备驱动程序完成来自上层软件的抽象调用,让上层不用去关心底层到底怎么实现。比如说音频设备驱动,提供了一个接口 playsound().那么上层只要去调用这个接口...

2011-09-24 19:50:00 66

MODULE_LICENSE

LDD3的解释:is used to tell the kernel that this module bears a free license; without such a declaration, the kernel complains when the module is loaded.外国人的解释:Q:"How does MODULE_LICENSE work in...

2011-09-23 20:17:00 123

常常阅读linux文档--收获良多

Linux kernel release 2.6.xx <http://kernel.org/>These are the release notes for Linux version 2.6. Read them carefully,as they tell you what this is all about, explain how to install the ker...

2011-09-23 11:37:00 139

Android培训班(71)Dex文件里类定义dvmDefineClass

clazz= dvmLookupClass(descriptor, loader, true);if(clazz == NULL) { constDexClassDef*pClassDef;这段代码是调用函数dvmLookupClass在已经加载的类里查找是否已经存在,如果已经存在,就直接使用就可以了。否则,就需要从Dex文件里读取出来。#ifdefWITH_PROFILE...

2011-09-18 11:00:00 53

Source Insight查看高亮ARM汇编源程序

1、解决方法是在Options->Document Options里面,点左上的Document Type下拉菜单,选择x86 Asm Source File,然后在右边的File filter里*.asm;*.inc;的后面加上*.s;*.S 接着CLOSE就可以了。这样就可以ADD TREE时把这些汇编加到PROJECT里面。2、要让汇编高亮显示和索引查找,解决方法是在Options...

2011-09-16 14:04:00 235

冯诺依曼体系结构

说到计算机的发展,就不能不提到德国科学家冯诺依曼。从20世纪初,物理学和电子学科学家们就在争论制造可以进行数值计算的机器应该采用什么样的结构。20世纪30年代中期,德国科学家冯诺依曼大胆的提出,抛弃十进制,采用二进制作为数字计算机的数制基础。同时,他还说预先编制计算程序,然后由计算机来按照人们事前制定的计算顺序来执行数值计算工作。  冯诺依曼理论的要点是:数字计算机的数制采用二进制;计...

2011-09-14 10:23:00 316

哈佛体系结构 哈佛体系结构

哈佛体系结构 数字信号处理一般需要较大的运算量和较高的运算速度,为了提高数据吞吐量,在数字信号处理器中大多采用哈佛结构.  与冯.诺曼结构处理器比较,哈佛结构处理器有两个明显的特点:  1、使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存;  2、使用独立的两条总线,分别作为CPU与每个存储器之间的专用通信路径,而这两...

2011-09-14 10:16:00 1238

Android培训班(70)Dex文件里类定义dvmDefineClass

接着来分析函数dvmDefineClass,它的代码如下: ClassObject*dvmDefineClass(DvmDex*pDvmDex, constchar*descriptor, Object*classLoader) { 这个函数输入的参数有三个,第一个pDvmDex参数是表示Dex文件对象,第二个descriptor参数是需要加载类名称,第三个classLoader参数...

2011-09-12 15:08:00 57

UltraEdit关闭后总是留下.bak文件--解决方法

高级-配置-备份-不进行备份

2011-09-11 17:09:00 243

Android培训班(69)Dex文件里类定义

当在虚拟机里加载Dex文件后,这个文件的数据已经读取到内存里,能不能马上使用呢?能不能使用里面的类呢?显然是不行的,因为那些加载到内存的数据,只是储存的格式,不具备运行的条件,因此需要调用方法defineClass来定义类,才可以运行在虚拟机里。所有Java编译后的类保存在Dex文件里,使用上面介绍的方法openDexFile打开Dex文件,接着需要调用方法defineClass来定义类,其实就是...

2011-09-09 22:29:00 68

vim 和 vi

都是多模式编辑器,不同的是vim 是vi的升级版本,兼容vi的所有指令,且有一些新的特性在里面。vim的这些优势主要体现在以下几个方面:1、多级撤消我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。2、易用性vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。3、语法加亮vim可以用不同的颜色来加亮你的代码。4、可视化操作就...

2011-09-08 16:16:00 63

Linux 中用户切换:su 和 su- 的使用 环境变量详解

大部分Linux发行版的默认账户是普通用户,而更改系统文件或者执行某些命令,需要root身份才能进行,这就需要从当前用户切换到root用户,Linux中切换用户的命令是su或su -,下面就su命令和su -命令最大的本质区别给大家详解一下:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境...

2011-09-08 13:57:00 1323

Android培训班(68)dex文件打开流程

在上面的函数里,提到使用dvmJarFileOpen函数找到classes.dex文件,并加载到内存里,然后提供后面的函数使用。现在就来分析这个函数的代码,如下:intdvmJarFileOpen(const char* fileName, const char* odexOutputName, JarFile** ppJarFile, bool isBootstrap){在这里提供四...

2011-09-04 14:21:00 259

Android培训班(67)dex文件打开流程

从上面可知调用函数Dalvik_dalvik_system_DexFile_openDexFile来打开Dex文件,这个函数的源码如下:staticvoid Dalvik_dalvik_system_DexFile_openDexFile(const u4* args, JValue* pResult){ StringObject* sourceNameObj =(StringOb...

2011-09-03 21:46:00 159

VCC,VDD,VEE,VSS,VPP 表示的意义

VCC,VDD,VEE,VSS,VPP表示的意义版本一:简单说来,可以这样理解:一、解释VCC:C=circuit 表示电路的意思, 即接入电路的电压;VDD:D=device 表示器件的意思, 即器件内部的工作电压;VSS:S=series 表示公共连接的意思,通常指电路公共接地端电压;VEE:负电压供电;VPP:编程/擦除电压。二、说明1、对于数字电路来...

2011-09-01 22:00:00 711

空空如也

空空如也

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

TA关注的人

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