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();	
	
}