winCE 6.0 BSP runtime problem

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

winCE 6.0 BSP runtime problem

ソリューションへジャンプ
1,127件の閲覧回数
shany
Contributor II

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?

ラベル(1)
1 解決策
827件の閲覧回数
JerryZeng
NXP Employee
NXP Employee

Since you don't have SD and LAN on your board, you'd better use a JTAG tool to get more information. And also you'd better try the default Freescale BSP on Freescale reference board to compare with the correct debug message. Otherwise it will be very difficlut for you to debug on your board.

元の投稿で解決策を見る

0 件の賞賛
2 返答(返信)
828件の閲覧回数
JerryZeng
NXP Employee
NXP Employee

Since you don't have SD and LAN on your board, you'd better use a JTAG tool to get more information. And also you'd better try the default Freescale BSP on Freescale reference board to compare with the correct debug message. Otherwise it will be very difficlut for you to debug on your board.

0 件の賞賛
827件の閲覧回数
AnsonHuang
NXP Employee
NXP Employee

From question 1, yes, if your board can only be running with eboot_ivt, then it is OK, as your MX28 chip is HAB type, need to use IVT mode bootloader.