|
wince5.0 bootloader中 LEAF_ENTRY 的问题
[复制链接]
9263 wince5.0中官方给的bootloader(大部分都是)中有个宏如下:
EXPORT __ENTRY;这个不是宏 ,是的前面代码
LEAF_ENTRY __ENTRY
宏定义为:
GBLS VBar
VBar SETS "|"
GBLS FuncName
GBLS PrologName
GBLS FuncEndName
MACRO
LEAF_ENTRY $Name
FuncName SETS VBar:CC:"$Name":CC:VBar
PrologName SETS "Invalid Prolog"
FuncEndName SETS VBar:CC:"$Name":CC:"_end":CC:VBar
ALIGN 2
EXPORT $FuncName
$FuncName
ROUT
MEND
展开以后就是
FuncName SETS "|__ENTRY|"
PrologName SETS "Invalid Prolog"
FuncEndName SETS "|__ENTRY_end|"
ALIGN 2
EXPORT |__ENTRY|
|__ENTRY|
ROUT
sources文件中EXEENTRY=__ENTRY,
那|__ENTRY|是不是就是__ENTRY,
如果是,那不就EXPORT两次了,(虽然我不知道会不会出错)
是不是 “| ”有什么特殊的作用?
还有就是源码中已经 AREA reset, CODE, READONLY
接下来又有
STARTUPTEXT
MACRO
STARTUPTEXT
AREA |.astart|,ALIGN=2,CODE
AreaName SETS "|.astart|"
MEND
源码是
AREA reset, CODE, READONLY
EXPORT __ENTRY
STARTUPTEXT
LEAF_ENTRY __ENTRY
展开后又是一个area
这不就重叠了,这样可以吗?
是不是输入段,输出段的问题....
谢谢先啊
|
|