AnsweredAssumed Answered

winCE 6.0 BSP runtime problem

Question asked by shany cohen on Aug 16, 2012
Latest reply on Oct 14, 2012 by JerryZeng

Hi

We have developed our own hardwarw board.without SD nor LAN

we use win CE B 6.0 BSP  from freescale

On the EVK everything works just fine (from SD).

to work with our board, we change from SD to nand and from EVK DDR chip to ours and seethe following :

 

1. Loading the eboot to RAM using SB_Loader does not end with something running (neither on the EVK!) so we work with eboot_ivt. does it suppose to be like this?

2. the eboot_ivt works from RAM only. we can see the boot menu and the freescale image on the screen.we can also burn NK image to NAND, launch previous NK image from NAND or download a new one from PB. Eboot parameters are also saved in NAND, so NAND is working.

burnning the eboot to nand and changing to NAND boot does not produce any output in the debug port so we assume it does not boot from NAND. or does not load from NAND. any idea?

3. So we send the eboot into RAM with SB_loader, download the new image (no matter if imgnand =1 or imgnand =0 ) we can see thatthe program runs until OEMinit is finished and than stay in a loop.

+OEMCacheRangeFlush(0x00000000, 0, 0x00000024)

-OEMCacheRangeFlush

and finaly it hangs..

we chaged from imgnand=1 to imgnand=0 and back. did not change anything.

we downloaded nk_ivt directly to RAM.

We disable KITL and the debugger.

all had the same result

Somtimes we manage to get as far as it is here:

 

OALPAtoVA(va = 0xb0018000)

+BSPIntrInit

-BSPIntrInit

-OALIntrInit(rc = 1)

+OALTimerInit(1, 12000, 123)

+OALIntrRequestSysIntr(1, 0xffffc76c, 0x00000004)

-OALIntrRequestSysIntr(sysIntr = 16)

+OALPAtoVA(0x80068000, 0)

-OALPAtoVA(va = 0xb0068000)

+OEMInterruptEnable(16, 0x0, 0)

+OALIntrEnableIrqs(4, 0x81166820)

+BSPIntrEnableIrq

-BSPIntrEnableIrq(irq = 48)

+BSPIntrEnableIrq

-BSPIntrEnableIrq(irq = -1)

+BSPIntrEnableIrq

-BSPIntrEnableIrq(irq = -1)

+BSPIntrEnableIrq

-BSPIntrEnableIrq(irq = -1)

-OALIntrEnableIrqs(rc = 1)

-OEMInterruptEnable(rc = 1)

+InitRTC(...)

+OALRTC_WriteRawPersistentField

-OALRTC_WriteRawPersistentField(rc = 1)

+OALRTC_WriteRawPersistentField

-OALRTC_WriteRawPersistentField(rc = 1)

+OALRTC_WriteRawPersistentField

-OALRTC_WriteRawPersistentField(rc = 1)

+OALRTC_WriteRawPersistentField

-OALRTC_WriteRawPersistentField(rc = 1)

-InitRTC(...)

-OALTimerInit(rc = 1)

+InitWatchDogTimer

-InitWatchDogTimer

-OEMInit

+OEMCacheRangeFlush(0x00000000, 0, 0x0000007f)

-OEMCacheRangeFlush

+OEMCacheRangeFlush(0x00000000, 0, 0x00000001)

-OEMCacheRangeFlush

+OEMCacheRangeFlush(0x00000000, 0, 0x00000001)

-OEMCacheRangeFlush

 

..............................

 

 

 

OEMCacheRangeFlush(0x00000000, 0, 0x00000006)

-OEMCacheRangeFlush

+OEMGetRealTime

OEMGetRealTime(2006/1/1 12:1:5.0)

+OEMCacheRangeFlush(0x87fc7000, 8, 0x00000004)

-OEMCacheRangeFlush

+OEMIoControl(0x101008c, 0x0, 0, 0xd00afac8, 4, 0xd00afacc)

-OALIoCtlHalGetRegSecureKeys(rc = 1)

-OEMIoControl(rc = 1)

+OEMCacheRangeFlush(0x00000000, 0, 0x00000024)

-OEMCacheRangeFlush

+OEMCacheRangeFlush(0x00000000, 0, 0x00000024)

-OEMCacheRangeFlush

+OEMCacheRangeFlush(0x87fc6000, 4096, 0x00000004

 

 

Any ideas? What can be the problem?

Outcomes