www.pudn.com > vxworks0108.rar > bootInit.c
/*
modification history
--------------------
2003-4-14,deng xindong dxd-2000@163.net
*/
#include "config.h"
#include "type.h"
extern UINT32 edata;
extern UINT32 end;
extern void kernelInit ();
void romStart(register int startType)
{
register int *rdata, *pdata;
register UINT32 count;
/*
* Copy ROM to RAM memory.
*/
pdata = (UINT32 *)ROM_TEXT_BASE;
rdata = (UINT32 *)RAM_DST_ADRS;
count = (UINT32)&end - (UINT32)RAM_DST_ADRS;
while(count > 0) {
*rdata++ = *pdata++;
count -= 4;
}
/* clear bss*/
rdata = (UINT32 *)&edata;
count = ((UINT32)&end - (UINT32)&edata) / 4;
while(count--) {
*rdata++ = 0;
}
kernelInit();
}