none
OAL startup issue in WEC 2013 BeagleBoard-XM RRS feed

  • Question

  • I am trying to port WEC 2013 on to BeagleBoard-XM, in my image 'kernelstart' is called and hangs with the following message

    Windows CE Kernel for ARM (Thumb Enabled) Built on May 10 2013 at 10:57:20
    ProcessorType=0c08  Revision=2 CpuId=0x413fc082
    OEMAddressTable = 80101038

    Any hints will be helpful..

    Thanks,

    Krishna.

    Wednesday, January 21, 2015 9:55 AM

All replies

  • Are you defining an OEMDeviceTable?

    Good luck,

    Michel Verhagen, eMVP
    Check out my blog: http://guruce.com/blog

    GuruCE
    Microsoft Embedded Partner
    http://guruce.com
    Consultancy, training and development services.

    Thursday, January 22, 2015 1:30 AM
    Moderator
  • Today I included OEMDeviceTable, following the sample sdp44xx BSP, provided in PB. Now I don't get any more messages from Kernelstart, hangs even before that. It executes the startup code, I printed some chars over the serial port from within the startup function.

    I don't have a Jtag debugger.

    Thanks,

    Krishna.

    Thursday, January 22, 2015 2:07 PM
  • These kind of issues are almost impossible to solve without JTAG.

    Get a Lauterbach PowerDebug II.


    Good luck,

    Michel Verhagen, eMVP
    Check out my blog: http://guruce.com/blog

    GuruCE
    Microsoft Embedded Partner
    http://guruce.com
    Consultancy, training and development services.

    Friday, January 23, 2015 3:11 AM
    Moderator
  • If you are porting a Compact 7 BSP to 2013, you need to make sure you've followed the porting guide. Sounds like you've made it to KernelStart.  At that point the problems could be:

    1. In SRC\OAL\OALEXE, You're linking to bootcrt.lib not fulllibc.lib or msvcrt.lib

    2. make sure you're cache routines have been ported correctly. Some older routines don't have a BX  LR at the end of the routines.

    3. If all else fails, you can copy over the code from \private\winceos\coreos\nk\ldr to the BSP. Build it there and make sure your OAL code links to that library instead of the default one in private. Then you can modify the code with your own outputs to the serial port to see where the boot is failing. Remember, soon in KernelStart, the processor switches to virtual mode so you'll need to know the virtual address of UART. The best way to do that is to put that range in the OEMAddressTable (only for debugging!) since the OEMDeviceTable isn't mapped until later in the boot process.

    Good luck.

    Doug Boling

    Friday, February 6, 2015 2:11 AM
  • To be clear, you *want* to link to bootcrt.lib

    Friday, February 6, 2015 2:11 AM