其他语言

本类阅读TOP10

·基于Solaris 开发环境的整体构思
·使用AutoMake轻松生成Makefile
·BCB数据库图像保存技术
·GNU中的Makefile
·射频芯片nRF401天线设计的分析
·iframe 的自适应高度
·BCB之Socket通信
·软件企业如何实施CMM
·入门系列--OpenGL最简单的入门
·WIN95中日志钩子(JournalRecord Hook)的使用

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
Windeos CE启动的第一件事情

作者:未知 来源:月光软件站 加入时间:2005-6-5 月光软件站

最近看了傅琳琳的那篇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);

Parameters

None.

Return Values

None.

Remarks

This 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]

Parameters

Name
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 Values

None.

Remarks

A 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 name
ARM Kxarm.h
SH3, SH4Kxshx.h
MIPSKxmips.h
嘿嘿,原来就是它定义了StartUp啊,但是有些地方仍然没有想通,比如这个例程调用了很多C的函数,但这个时候好像还没有初始化栈堆,哪位知道原因,烦请告诉我一声。


相关文章

相关软件