自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 新西游记

工作之余,笑一笑!>> >> 唐僧师徒一行经历九九八十一难终于见到了如来佛求取真经>> >> 如来问:“你们带U盘了么?”>> >> 唐僧师徒。。。。>> >> 如来又问:“移动硬盘呢?”>> >> 如来继续问:“IPOD也可以哇”>> >> 悟空挖起耳朵来>> >> 如来叹了口气:“那只有网上发给你们了,你们就原路回去吧>> >> >> 回去后唐僧打开QQ,发现如来没有传过来>> >> 于是

2009-06-26 16:22:00 634

转载 浅谈ARM裸板调试

我所说的ARM裸板调试是指ARM的PCB板制作完后,贴片回来的板子,不但没有任何程序,上电都是第一次。最近调试了一块ARM板,基于S3C6410的,但是我们把原来的M-DDR DRAM和Nandflash全部都换掉了,硬件做了不小的改动。以前也做过类似的裸板调试,从ARM7到ARM9,再到现在的ARM11。今天就来写一篇ARM裸板调试的文章。如我前面所说,刚拿到ARM裸板的时候,首先就是要上电。不

2009-06-24 17:36:00 718

转载 GCC编译选项

gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs] 3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as] 4.连接目标代码,生成可执行程序[链接器ld] 参数详解-c 只激活预处理,编译,和汇编,也就是他只把程序做成obj文件    eg: gcc -c hello.c 生成

2009-06-24 16:34:00 664

转载 VC链接选项

LINK 是将通用对象文件格式 (COFF) 对象文件和库链接起来以创建可执行 (.exe) 文件或动态链接库 (DLL) 的工具。下表是 LINK.exe 选项的综合列表。本节还包含关于以下主题的信息:编译器控制的 LINK 选项LINK 输入文件LINK 输出保留字在命令行上指定的链接器选项不区分大小写:/base 和 /BASE 的含义相同。可以通过 commen

2009-06-24 16:30:00 1631

原创 VC 编译选项

-优化-  /O1 最小化空间 minimize space /Op[-] 改善浮点数一致性 improve floating-pt consistency /O2 最大化速度 maximize speed /Os  优选代码空间  favor code space /Oa 假设没有别名 assume no aliasing /Ot 优选代码速度 favor code speed /Ob 内联展开

2009-06-24 16:17:00 550

转载 linux内核模块编程之进阶(三)

在上一部分“编写带有参数的中断模块”中,这个看似简单的程序,你调试并运行以后思考了哪些方面的问题?CPU00:   10655925    IO-APIC-edge      timer1:       9148         IO-APIC-edge      i80426:          4          I O-APIC-edge      floppy7:          0 

2009-06-24 15:59:00 742

转载 linux内核模块编程之入门(二)-编写带参数的中断模块

在此,我们将编写一个模块,其中有一个中断函数,当内核接收到某个 IRQ 上的一个中断时会调用它。先给出全部代码,读者自己调试,把对该程序的理解跟到本贴后面。—————————————-#include #include #include static int irq;static char *interface;//MODULE_PARM_DESC(interface,”A net

2009-06-24 15:55:00 722

转载 linux内核模块编程之入门(一) 模块编程

模块编程属于内核编程,因此,除了对内核相关知识有所了解外,还需要了解与模块相关的知识。1.应用程序与内核模块的比较为了加深对内核模块的了解,表一给出应用程序与内核模块程序的比较。表一 应用程序与内核模块程序的比较 C语言应用程序内核模块程序使用函数Libc库内核函数运行空间用户空间内核空间运行权限普通用户超级用

2009-06-24 15:49:00 687

转载 Linux驱动开发学习 第一个驱动程序 hello world

1、关于目录    /lib/modules/2.6.9-42.ELsmp/build/   这个是内核源码所在的目录    一般使用这样的命令进入这个目录:cd /lib/modules/$(uname -r)/build/   这个目录实际上指向了:/usr/src/kernels/2.6.9-42.EL-smp-i6862、编译驱动所使用的makefile    实际上编译驱动的时候是使用预

2009-06-23 19:15:00 719

原创 深入分析Linux内核源码

http://www.kerneltravel.net/kernel-book/%E6%B7%B1%E5%85%A5%E5%88%86%E6%9E%90Linux%E5%86%85%E6%A0%B8%E6%BA%90%E7%A0%81.html

2009-06-22 19:14:00 645

转载 Linux源代码行数已超过1000万 价值5亿美元

【赛迪网讯】10月23日消息,一项分析发现,在最近发布2.6.27版本Linux内核之后,包括Linux内核文件在内的源代码行数已经超过了1000万行。  不过,这个数字包括空白行、注释和整个内核源代码全年检查的文本文件。  采用不同的方法进行计算,实际文本行数刚超过90

2009-06-22 11:14:00 757

转载 阅读LINUX源码的方法及工具

由于操作系统的内核贴近硬件,需要对计算机的体系结构有所了解,例如CPU的工作原理、接口特性和BIOS调用等。读者千万别因为这些望而却步,这里将介绍一些阅读Linux内核源码必备的技能。      1.获取内核     一般在Linux系统中的/usr/src/linux*.*.*(*.*.*代表的是内核版本,如2.4.23)目录下就是内核源代码(如果没有类似目录,是因为还没安装内核代码)。另外还可

2009-06-22 10:37:00 783

原创 6-22关注

在周末利好的刺激下,近日大盘将高开,能否高开高走,在于量能是否能够得到有效支撑,个人估计大盘今天将是高开低走,小心追高为是。

2009-06-22 09:16:00 451

原创 通胀预期之后投资何处去

在通胀强烈预期的情况下,贵金属和黄金经历了一遍大幅上涨,石油期货更是翻了一倍,资本市场也有了大幅的上涨,A股市场已经大涨了70%,在上海去年年底房地产触底反弹,也有了10%到20%的涨幅,在这些大涨之后,如何去投资,如何去保值,很多人现在已经开始迷茫。现在到底是持币,还是去投资,因为经济局势的迷雾,变成了一个难题。 从现在来看,贵金属,石油期货可能需要有一个调整过程,过高的价格将进一步抑制

2009-06-21 08:54:00 510

原创 6-15关注

今天大盘冲高后,在10日线附近受到压制,10:30开始回落,上海下跌5.50点,跌幅为0.2%,如果下午出现急跌,在20日均线附近可以少量参与,否则不突破2750点,观望为主。

2009-06-15 12:55:00 440

转载 交叉编译器

在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。简单地说,就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓平台,实际上包含两个概念:体系结构(Architecture)、操作系统(Operating System)。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行

2009-06-12 13:24:00 597

转载 如何让自己快乐起来

人怎样变得快乐,这是个费解的问题,一位澳大利亚心理学家写了一本有趣的书,请读一读吧,或许对我们每个人都有启迪。  为现在而活       你所拥有的只是现在。内心的平静,工作的成效,都决定于我们要如何活在现在这一刻。不论昨天曾发生过什么事,也不论明天有什么即将来临,你永远置身“现在”。从这个观点来看,快乐与满足的秘诀,就是全心全意集中于现在的每一分、每一秒之上。   小孩子最美妙的一点,就是他们会

2009-06-12 13:06:00 1236 1

原创 6-12关注

今天大盘如昨天所说,今天早上在冲高后,开始跳水,跌到10日均线开始小幅反弹,这波的调整,第一支撑位在30日均线,在30日均线附近可少量参与。

2009-06-12 11:29:00 557

原创 6-11关注

上午大盘在IPO的利空消息下,银行股领涨,大盘低开高走,在午后开盘有一波跳水,大盘上涨的疲态尽显,在接下来的这段时间,大盘将有一个调整的过程,持股的朋友注意大盘五日均线的得失,持币的朋友,静等大盘的调整。

2009-06-11 13:34:00 706

原创 C函数调用机制(x86的linux环境下)

一 C与汇编程序的相互调用为了提高代码执行效率,内核源代码中有的地方直接使用了汇编语言编制。这就会涉及在两种语言编制的程序之间的相互调用问题。本节首先说明C语言函数的调用机制,然后举例说明两者函数之间的调用方法。(一)  C函数调用机制在Linux内核程序boot/head.s执行完基本初始化操作之后,就会跳转去执行init/main.c程序。那么head.s程序是如何把执行控制转交给

2009-06-10 15:18:00 2643

原创 6-10关注

今天大盘处于强势之中,电子板块,水泥板块,钢铁板块表现较强,继续跟踪600063,节能减排和券商概念股,如能站上30日线,可看高一线。

2009-06-10 14:20:00 531

转载 linux进程管理之可执行文件的加载和运行之二

在linux内核,用linux_binfmt结构来表示每一个加载模块.它的定义如下:struct linux_binfmt {        //用来构成链表         struct list_head lh;         //所属的module         struct module *module;         //加载可执行文件         int (*load_bin

2009-06-10 14:07:00 1366

转载 linux可执行文件的加载和运行之一(5)

int search_binary_handler(struct linux_binprm *bprm,struct pt_regs *regs){     int try,retval;     struct linux_binfmt *fmt;#ifdef __alpha__     /* handle /sbin/loader.. */     {       struct exec *

2009-06-10 14:06:00 916

转载 linux可执行文件的加载和运行之一(4)

  经过一系统的初始化之后,可以寻找该文件的加载module了.这是由search_binary_handler()完成的.在深入到这段代码之前.我们有必要讨论一下linux可执文件模块的组织.  在linux内核,用linux_binfmt结构来表示每一个加载模块.它的定义如下:struct linux_binfmt {    //用来构成链表     struct lis

2009-06-10 14:05:00 1715

转载 linux可执行文件的加载和运行之一(2)

  用户栈位于进程空间的最高部份.那进程初始化时,用户栈存放的是什么呢?是参数.进程在执行时会到栈中去取运行时所需的参数.这里所谓的参数包含了可执行程序所带的参数和环境变量.例如:在shell上执行”echo hello,eric” .echo程序带有二个参数.argv[0] = “echo”,argv[1] = “hello,eric”即第一个参数为程序名称.其后的参数分别是运行进

2009-06-10 14:02:00 1749

转载 linux可执行文件的加载和运行之一(3)

  在这里为bprm->mm的初始化下了这么多功夫是为什么呢?它跟进程的mm有什么关系?不急,继续耐着性子看代码,我们会看到它的用途的.  继续分析do_execve()中所调用的子函数.Count()来用计算可执行文件的参数或者环境变量的个数.它的代码如下:static int count(char __user * __user * argv, int max){  

2009-06-10 14:02:00 1389

转载 linux可执行文件的加载和运行之一(1)

可执行文件的加载和运行 Execve系统调用可以调用一个可执行文件完全代替当前的进程,它在libc中的封装有几个API:int execl(const charp a t* h n a m e, const char a* rg 0, ... /* (char *) 0 */);int execv(const charp a t* h n a m e, char *consta rgv [] );

2009-06-10 14:00:00 1779

转载 UNIX/LINUX平台可执行文件格式分析

相对于其它文件类型,可执行文件可能是一个操作系统中最重要的文件类型,因为它们是完成操作的真正执行者。可执行文件的大小、运行速度、资源占用情况以及可扩展性、可移植性等与文件格式的定义和文件加载过程紧密相关。研究可执行文件的格式对编写高性能程序和一些黑客技术的运用都是非常有意义的。不管何种可执行文件格式,一些基本的要素是必须的,显而易见的,文件中应包含代码和数据。因为文件可能引用外部文件定义的符号

2009-06-10 13:40:00 528

转载 __cdecl

__stdcall:       _stdcall 调用约定相当于16位动态库中经常使用的PASCAL调用约定。在32位的VC++5.0中PASCAL调用约定不再被支持(实际上它已被定义为__stdcall。除了__pascal外,__fortran和__syscall也不被支持),取而代之的是__stdcall调用约定。两者实质上是一致的,即函数的参数自右向左通过栈传递,被调用的函数在返回前

2009-06-09 17:19:00 709

转载 SkyEye硬件模拟平台:SkyEye 介绍

本文主要介绍了SkyEye硬件模拟平台起源,背景和发展状况。SkyEye是一个可以模拟嵌入式硬件开发板的系统软件。通过SkyEye的了解,有助于对嵌入式硬件系统有更深入的认识,特别是对操作系统、驱动程序如何与嵌入式硬件系统进行交互有更深刻的了解。一.SkyEye介绍1.SkyEye的起源和发展2002年11月,一个偶然的机会,一群操作系统的爱好者在网上进行聊天,成立了一个TM-Linux兴

2009-06-08 17:02:00 668

转载 SkyEye硬件模拟平台:安装与使用

本文主要介绍SkyEye硬件模拟平台的安装与使用。对SkyEye的使用,可以调试和开发多种嵌入式操作系统和系统软件,有助于对操作系统、驱动程序如何与嵌入式硬件系统进行交互有更深刻的了解。一. SkyEye配置选项SkyEye模拟的硬件配置和模拟执行行为由配置文件skyeye.conf中的选项确定。根据选项的功能,skyeye.conf的选项分为硬件配置选项和模拟执行选项。根据参数的个数,sky

2009-06-08 17:00:00 669

转载 SkyEye硬件模拟平台:硬件仿真实现之六

本系列文章主要介绍了SkyEye硬件模拟平台的实现细节。主要内容包括SkyEye的总体设计、SkyEye的可扩展框架、SkyEye的关键数据结构、SkyEye对各种CPU的模拟实现、SkyEye对各种外设的模拟实现、如何安装使用SkyEye以及如何扩展SkyEye的仿真模块等。对SkyEye的深入了解,有助于对嵌入式硬件系统有更深入的认识,特别是对操作系统、驱动程序如何与嵌入式硬件系统进行交互有更

2009-06-08 16:56:00 525

转载 SkyEye硬件模拟平台:硬件仿真实现之五

本系列文章主要介绍了SkyEye硬件模拟平台的实现细节。主要内容包括SkyEye的总体设计、SkyEye的可扩展框架、SkyEye的关键数据结构、SkyEye对各种CPU的模拟实现、SkyEye对各种外设的模拟实现、如何安装使用SkyEye以及如何扩展SkyEye的仿真模块等。对SkyEye的深入了解,有助于对嵌入式硬件系统有更深入的认识,特别是对操作系统、驱动程序如何与嵌入式硬件系统进行交互有更

2009-06-08 16:48:00 707

转载 SkyEye硬件模拟平台:硬件仿真实现之四

本系列文章的第三部分主要介绍了SkyEye硬件模拟平台的实现细节。主要内容包括SkyEye的总体设计、SkyEye的可扩展框架、SkyEye的关键数据结构、SkyEye对各种CPU的模拟实现、SkyEye对各种外设的模拟实现、如何安装使用SkyEye以及如何扩展SkyEye的仿真模块等。对SkyEye的深入了解,有助于对嵌入式硬件系统有更深入的认识,特别是对操作系统、驱动程序如何与嵌入式硬件系统进

2009-06-08 16:40:00 527

转载 SkyEye硬件模拟平台:硬件仿真实现之三

本系列文章的第三部分主要介绍了SkyEye硬件模拟平台的实现细节。主要内容包括SkyEye的总体设计、SkyEye的可扩展框架、SkyEye的关键数据结构、SkyEye对各种CPU的模拟实现、SkyEye对各种外设的模拟实现、如何安装使用SkyEye以及如何扩展SkyEye的仿真模块等。对SkyEye的深入了解,有助于对嵌入式硬件系统有更深入的认识,特别是对操作系统、驱动程序如何与嵌入式硬件系统进

2009-06-08 16:29:00 531

转载 SkyEye硬件模拟平台: 硬件仿真实现之二

本系列文章主要介绍了SkyEye硬件模拟平台的实现细节。主要内容包括SkyEye的总体设计、SkyEye的可扩展框架、SkyEye的关键数据结构、SkyEye对各种CPU的模拟实现、SkyEye对各种外设的模拟实现、如何安装使用SkyEye以及如何扩展SkyEye的仿真模块等。对SkyEye的深入了解,有助于对嵌入式硬件系统有更深入的认识,特别是对操作系统、驱动程序如何与嵌入式硬件系统进行交互有更

2009-06-08 16:26:00 705

转载 SkyEye硬件模拟平台:硬件仿真实现之一

本系列文章主要介绍了SkyEye硬件模拟平台的实现细节。主要内容包括SkyEye的总体设计、SkyEye的可扩展框架、SkyEye的关键数据结构、SkyEye对各种CPU的模拟实现、SkyEye对各种外设的模拟实现、如何安装使用SkyEye以及如何扩展SkyEye的仿真模块等。对SkyEye的深入了解,有助于对嵌入式硬件系统有更深入的认识,特别是对操作系统、驱动程序如何与嵌入式硬件系统进行交互有更

2009-06-08 16:16:00 870

转载 skyeye.conf硬件配置文件

skyeye.conf硬件配置文件cpu: 指定CPU类型,如arm7tdmi,arm720t等mach: 开发板类型,如at91, ep7312mem_bank: 内存块map=M 指定为rom/ram, map=I 指定为IO空间type=RW 可读写,type=R 只读addr=0x00000000 内存块开始地址size=0x10000000 内存块大小files=romfs.img 文件

2009-06-08 15:57:00 1022

转载 SkyEye 在linux下的仿真调试

SkyEye是一个开源软件(opensource software)项目,中文名字是“天目”。SkyEye的目标是在通用的Linux和Windows平台实现一个仿真集成开发环境,模拟常见的嵌入式 计算机系统(目前支持基于arm7tdmi的AT91开发板);可在SkyEye上运行uclinux以及uC/OS-II等多种嵌入式操作系统,并对它 们进行源码级的分析和测试。SkyEye的推出具有下面两方面

2009-06-08 15:49:00 1436

转载 SkyEye README

1. configure the skyeye in cygwin or linux environmentcd SKYEYE_DIR/*if SkyEye version is ./configure --target=arm-elf --prefix=/usr/local --without-gtk-prefix --without-gtk-exec-prefix --disable-gtkt

2009-06-08 15:12:00 667

空空如也

空空如也

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

TA关注的人

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