Re: Kernel Bootup Crashing at MDCreateThread by ER
ER
Wed Apr 18 09:14:33 CDT 2007
Jesse,
I thought I responded with a fix 2 months ago. I guess it did not
post for some reason.
I don't recall the exact details, but what was happening was that I
was using an jtag emulator to download the image into DRAM and jump
there. At the point where Wince kernel starts using the 0xCXXXXXXX
address, an exception happens and the emulator was handling this
exception instead of having WinCE do it, something to do with vector
tables. In the EPI emulator setting, the fix was to change the vector
catch from "eo vector_catch =3D 0x3b" to eo vector_catch =3D 0x0"
OR
Just run without a JTAG, from NOR to DRAM... etc.
Thats most of what I remember, hope this helps.
Elias
On Apr 16, 4:53 am, "Jesse" <cheng...@hotmail.com> wrote:
> On 3=E6=9C=8821=E6=97=A5, =E4=B8=8A=E5=8D=882=E6=97=B600=E5=88=86, "Dean =
Ramsier" <ramsiernos...@nospam.com> wrote:
>
>
>
> > It's not actually an emulator, the code runs directly on the target CPU.
> > The jtag device just sits in the background and allows you to have low =
level
> > control. No you shouldn't get a data abort, something is wrong...
>
> > --
> > Dean Ramsier - eMVP
> > BSQUARE Corporation
>
> > "Stanley" <Stan...@discussions.microsoft.com> wrote in message
>
> >news:90A5847C-5866-4D87-A8C0-1080948A2408@microsoft.com...
>
> > > Do you means the "ICE"? Sorry, I misunderstand. I will try it by disa=
bling
> > > vector_catch. But , does it normal that the data abort was occurred i=
n the
> > >MDCreateThread? The VA 0xc2010000 is not mapped in the MMU, isn't it?
> > > Thank you very much.
>
> > > "Dean Ramsier" wrote:
>
> > >> The emulator is a device that you plug into your board, and connect =
to
> > >> your
> > >> PC. If you were using it, you would know it because it costs several
> > >> thousand dollars...
>
> > >> --
> > >> Dean Ramsier - eMVP
> > >> BSQUARE Corporation
>
> > >> "Stanley" <Stan...@discussions.microsoft.com> wrote in message
> > >>news:F38564C7-DE20-403B-BC75-1A828100756E@microsoft.com...
> > >> > Excuse me Sir, I meet the same problem as you. But I don't know if=
I
> > >> > use
> > >> > the
> > >> > EPI emulator or not. Would you tell me how to run thekernelwithoyt=
a
> > >> > JTAG
> > >> > Emulator?
>
> > >> > Thanks a lot.
>
> > >> > "ER" wrote:
>
> > >> >> Found the issue, the problem was running the WinCE code while usi=
ng an
> > >> >> EPI emulator that was taking over the exception handling on the O=
S=2E
> > >> >> TheKernelbootupworked fine when running without a JTAG Emulator,
> > >> >> which led to the solution. On an EPI Emulator, the vector_catch s=
hould
> > >> >> be disabled for WinCE to run.
>
> > >> >> On Feb 3, 7:15 pm, ER <E...@discussions.microsoft.com> wrote:
> > >> >> > Thanks Vinoth, But I already have NKForceCleanBoot() called in
> > >> >> > OEMInit(). Any
> > >> >> > other ideas?
> > >> >> > Thanks
>
> > >> >> > "vinoth" wrote:
> > >> >> > > Hi,
> > >> >> > > Just try the NKForceCleanBoot(); in the OEMInit
> > >> >> > > --
> > >> >> > > vinoth.R
> > >> >> > > software Engineer
>
> > >> >> > > "ER" wrote:
>
> > >> >> > > > Hello,
> > >> >> > > > I've seen multiple ppl with posts having the same issue, b=
ut no
> > >> >> > > > one posted
> > >> >> > > > a solution to the problem. So any help would be appreciated=
?!
>
> > >> >> > > > I'm porting a PXA270 to WinCE500 and thekernelboots up all =
the
> > >> >> > > > way past
> > >> >> > > > OEMInit, then call the ARMinit()...to SchedInit().
> > >> >> > > > In SchedInit is callsMDCreateThread() a data abort happens
> > >> >> > > > inside
> > >> >> > > >MDCreateThread() at KSTKBOUND(pTh) =3D pTh->ctx.Sp &
> > >> >> > > >~(PAGE_SIZE-1);
>
> > >> >> > > > I'm using the Cache libraries from the Mainstoneii BSP unde=
r CSP
> > >> >> > > > code.
>
> > >> >> > > > Dump:
> > >> >> > > > OEMInit-
> > >> >> > > > Error Reporting Memory Reserved, dump size =3D 00100000
> > >> >> > > > Booting Windows CE version 5.00 for (ARM)
> > >> >> > > > &pTOC =3D 80098ebc, pTOC =3D 8292f45c, pTOC->ulRamFree =3D =
829cc000,
> > >> >> > > > MemForPT =3D
> > >> >> > > > 000000
> > >> >> > > > 00
>
> > >> >> > > > Old or invalid version stamp inkernelstructures - starting
> > >> >> > > > clean!
> > >> >> > > > Configuring: Primary pages: 5425, Secondary pages: 0, Files=
ystem
> > >> >> > > > pages =3D 211
>
> > >> >> > > > Bootingkernelwith clean memory configuration:
> > >> >> > > > Memory Sections:
> > >> >> > > > [0] : start: 829cd000, extension: 00002000, length: 01531000
> > >> >> > > > Sp=3Dffffc7cc
> > >> >> > > > ARMInit done.
> > >> >> > > > Windows CE KernelInit
> > >> >> > > > Updated eptr->e32_vsize to =3D 000d5000
> > >> >> > > > <CRASH>
>
> > >> >> > > > BIB FILE:
>
> > >> >> > > > MEMORY
> > >> >> > > > BOOTLOADER 80000000 00080000 RESERVED
> > >> >> > > > NK 8008f000 02000000 RAMIMAGE
> > >> >> > > > RAM 820B0000 01F18000 RAM
>
> > >> >> > > > CONFIG
> > >> >> > > > BOOTJUMP=3DNONE
> > >> >> > > > COMPRESSION=3DON
> > >> >> > > > PROFILE=3DOFF
> > >> >> > > > KERNELFIXUPS=3DON
> > >> >> > > > ROMFLAGS=3D0
>
> > >> >> > > > FSRAMPERCENT=3D0x0A0A0A0A
>
> > >> >> > > > AUTOSIZE=3DON
> > >> >> > > > ROMSTART=3D80090000
> > >> >> > > > ROMWIDTH=3D32
> > >> >> > > > ROMSIZE=3D04000000
>
> > >> >> > > > IF IMGTRUSTROMONLY
> > >> >> > > > IF IMGNOTALLKMODE
> > >> >> > > > ROMFLAGS=3D12
> > >> >> > > > ENDIF
> > >> >> > > > IF IMGNOTALLKMODE !
> > >> >> > > > ROMFLAGS=3D10
> > >> >> > > > ENDIF
> > >> >> > > > ENDIF
>
> > >> >> > > > IF IMGTRUSTROMONLY !
> > >> >> > > > IF IMGNOTALLKMODE
> > >> >> > > > ROMFLAGS=3D2
> > >> >> > > > ENDIF
> > >> >> > > > IF IMGNOTALLKMODE !
> > >> >> > > > ROMFLAGS=3D0
> > >> >> > > >