Windeos CE启动的第一件事情

王朝system·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

最近看了傅琳琳的那篇OAL的点点滴滴(http://www.vckbase.com/document/viewdoc/?id=1379),他告诉我StartUp()函数是CE启动的第一个函数,可是我硬是没有搜索到那个什么鬼函数在哪里,在MSDN帮助文档里面也说:

This function is the first function to be called when the OS is booted from either the boot loader or reset vector.

void StartUp(void);

ParametersNone.

Return ValuesNone.

RemarksThis function is the first function called during boot up. The function needs to initialize the CPU to a known state and then call one of the kernel initialization functions, either KernelInitialize or KernelStart.

可是我为什么找不到呢?

嘿嘿,在一阵子搜索之后,我放弃了,然后开始翻启动代码那段汇编语言,看到一个词语不认识:LEAF_ENTRY ,查看MSDN的帮助文档说,

This macro declares the beginning of a routine that does not require any prolog code.

LEAF_ENTRY Name[,

[Section=]SectionName]

ParametersName Name is the routine name and is in the global name space. SectionName SectionName is the name of the section in which the entry will appear; it is optional and defaults to .text. Return ValuesNone.

RemarksA LEAF_ENTRY must have an associated ENTRY_END.

Each supported microprocessor contains a definition for this macro in a microprocessor-specific header file. The following table shows the supported microprocessor families and the related header file that contains the macro definition for that family.

Microprocessor familyHeader file nameARM

Kxarm.h

SH3, SH4

Kxshx.h

MIPS

Kxmips.h

嘿嘿,原来就是它定义了StartUp啊,但是有些地方仍然没有想通,比如这个例程调用了很多C的函数,但这个时候好像还没有初始化栈堆,哪位知道原因,烦请告诉我一声。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航