none
Stuck on "Windows CE KernelInit" RRS feed

  • Question

  • Hello,

    I'm trying to boot a debug image and I've changed the size of my partition to fits the debug image size. But, since then, no image will boot (release and bedug)...

    While trying to boot the debug image, I get the following output. Any hint about what is going on?

    BOOTUTIL: Returning imgAddr 0x8000cf8c
    Windows CE Kernel for ARM (Thumb Enabled) Built on Nov 3 2010 at 07:30:19
    ProcessorType=0c08 Revision=3 CpuId=0x411fc083
    OEMAddressTable = 8400d02c
    CPU CP15 Control Register = 0xc5387f
    CPU CP15 Auxiliary Control Register = 0xe3
    --- High Performance Frequency is 32768 khz---
    Error Reporting Memory Reserved, dump size = 0004b000
    Setting up softlog at 0x8cfb1000 for 0x800 entries
    Booting Windows CE version 6.00 for (ARM)
    &pTOC = 85d51c1c, pTOC = 85d38490, pTOC->ulRamFree = 85d56000, MemForPT = 00001000
    
    Old or invalid version stamp in kernel structures - starting clean!
    Configuring: Primary pages: 29258, Secondary pages: 0, Filesystem pages = 1142
    
    Booting kernel with clean memory configuration:
    Memory Sections:
    [0] : start: 85d58000, extension: 0000f000, length: 0724a000
    NKStartup done, starting up kernel.
    Windows CE KernelInit

    image_cfg

    #ifndef __IMAGE_CFG_H
    #define __IMAGE_CFG_H
    
    //------------------------------------------------------------------------------
    //
    // Define: DEVICE_RAM/FLASH_xxx
    //
    // OMAP has 128MB SDRAM located at physical address 0x80000000.
    //
    #define DEVICE_RAM_PA          0x80000000
    #define DEVICE_RAM_CA          0x84000000
    #define DEVICE_RAM_SIZE         0x08000000
    
    //------------------------------------------------------------------------------
    //
    // Define: IMAGE_SHARE_ARGS_xxx
    //
    // Following constants define location and maximal size of arguments shared
    // between loader and kernel. For actual structure see args.h file.
    //
    #define IMAGE_SHARE_ARGS_PA       0x80000000
    #define IMAGE_SHARE_ARGS_SIZE      0x00001000
    
    //------------------------------------------------------------------------------
    //
    // Define: IMAGE_WINCE_xxx
    //
    // Following constants define Windows CE OS image layout.
    //
    #define IMAGE_WINCE_CODE_PA       0x80001000
    #define IMAGE_WINCE_CODE_SIZE      0x00FFF000
    #ifdef BSP_PLATFORM_GATEWAY
    	//#define IMAGE_WINCE_PART_SIZE    0x01400000
    	#define IMAGE_WINCE_PART_SIZE    0x02000000
    #else
    #define IMAGE_WINCE_PART_SIZE      0x02000000
    #endif
    #define IMAGE_SECURE_PART_SIZE     0x00100000
    
    //------------------------------------------------------------------------------
    //
    // Define: IMAGE_DISPLAY_BUF_xxx
    //
    // Following constants define location and size of the display buffer
    //
    #ifndef BSP_DSPLINK
    #define IMAGE_DISPLAY_BUF_PA      0x87000000
    #else
    #define IMAGE_DISPLAY_BUF_PA      0x84800000
    #endif
    #define IMAGE_DISPLAY_BUF_SIZE     0x01000000
    
    //------------------------------------------------------------------------------
    //
    // Define: IMAGE_XLDR_xxx
    //
    // Following constants define image layout for X-Loader. 
    // XLDR executes from SRAM
    //
    #define IMAGE_XLDR_CODE_PA       0x40206000
    #define IMAGE_XLDR_CODE_SIZE      0x00006000
    
    #define IMAGE_XLDR_DATA_PA       0x4020C000
    #define IMAGE_XLDR_DATA_SIZE      0x00002000
    
    #define IMAGE_XLDR_STACK_PA       0x4020E000
    #define IMAGE_XLDR_STACK_SIZE      0x00001000
    
    //------------------------------------------------------------------------------
    //
    // Define: IMAGE_EBOOT_xxx
    //
    // Following constants define EBOOT image layout. 
    //
    #define IMAGE_EBOOT_CODE_PA       0x87E00000
    #define IMAGE_EBOOT_CODE_SIZE      0x00040000  // 256 KBytes for EBoot
    
    #define IMAGE_EBOOT_DATA_PA       0x87E40000
    #define IMAGE_EBOOT_DATA_SIZE      0x000D0000
    
    #define IMAGE_EBOOT_STACK_PA      0x87F00000
    #define IMAGE_EBOOT_STACK_SIZE     0x00010000
    
    
    //------------------------------------------------------------------------------
    //
    // Define: IMAGE_STARTUP_xxx
    //
    // Jump address XLDR uses to bring-up the device.
    //
    #define IMAGE_STARTUP_IMAGE_PA     (IMAGE_EBOOT_CODE_PA)
    #define IMAGE_STARTUP_IMAGE_SIZE    (IMAGE_EBOOT_CODE_SIZE)
    
    
    //------------------------------------------------------------------------------
    //
    // Define: IMAGE_BOOTLOADER_xxx
    //
    // Following constants define bootloader information
    //
    
    #define IMAGE_XLDR_BOOTSEC_NAND_SIZE    (4 * 128 * 1024) 		// Needs to be equal to four NAND flash blocks due to boot ROM requirements
    #define IMAGE_EBOOT_BOOTSEC_NAND_SIZE    IMAGE_EBOOT_CODE_SIZE	// Needs to be a multiple of flash block size
    
    #define IMAGE_XLDR_BOOTSEC_ONENAND_SIZE   (4 * 128 * 1024) 		// Needs to be equal to four OneNAND flash blocks due to boot ROM requirements
    #define IMAGE_EBOOT_BOOTSEC_ONENAND_SIZE  IMAGE_EBOOT_CODE_SIZE
    
    
    #define IMAGE_BOOTLOADER_BITMAP_SIZE    0           // Needs to be a multiple of 128k, and minimum 480x640x3 (VGA) 
    
    #define IMAGE_BOOTLOADER_NAND_SIZE   (IMAGE_XLDR_BOOTSEC_NAND_SIZE + \
                         IMAGE_EBOOT_BOOTSEC_NAND_SIZE + \
                         IMAGE_BOOTLOADER_BITMAP_SIZE)
    
    #define IMAGE_BOOTLOADER_ONENAND_SIZE  (IMAGE_XLDR_BOOTSEC_ONENAND_SIZE + \
                         IMAGE_EBOOT_BOOTSEC_ONENAND_SIZE + \
                         IMAGE_BOOTLOADER_BITMAP_SIZE)
    
    //------------------------------------------------------------------------------
    
    #endif

    Config.bib:

    MEMORY
    ;  Name            VA     Length   Type
      ARGS            84000000  00001000  RESERVED ; 4K 
      NK             84001000  01FFF000  RAMIMAGE ; 32MB - 4K
      RAM             86000000  07000000  RAM   ; 128MB -32MB
    
    nk.exe:dwOEMFailPowerPaging   00000000  00000001  FIXUPVAR
    nk.exe:dwOEMDrWatsonSize    00000000  0004B000  FIXUPVAR 
    nk.exe:dwOEMPRCMCLKSSetupTime  00000000  00000140  FIXUPVAR
    nk.exe:dwOEMMaxIdlePeriod    00000000  000003E8  FIXUPVAR
      
    nk.exe:dwOEMTargetProject    00000000  00000001  FIXUPVAR
    
    IF IMGHIGHSECURITY
    nk.exe:dwOEMHighSecurity    00000000  00000001  FIXUPVAR
    ELSE
    nk.exe:dwOEMHighSecurity    00000000  00000002  FIXUPVAR
    ENDIF
    
    kernel.dll:initialKernelLogZones FFFFFFFF  0000FFFF  FIXUPVAR
    nk.exe:initialOALLogZones    00000000  7FFFFFFF  FIXUPVAR
    
    
    
    ; location for context restore from off mode (MUST BE IN PHYSICAL ADDR VALUE)
    ;
    nk.exe:dwOEMMPUContextRestore  00000000  80000800  FIXUPVAR 
    
    ;-------------------------------------------------------------------------------
    
    CONFIG
    ; @CESYSGEN IF !NK_NKNOCOMP
      COMPRESSION=ON
    ; @CESYSGEN ENDIF !NK_NKNOCOMP
    ; @CESYSGEN IF NK_NKNOCOMP
      COMPRESSION=OFF
    ; @CESYSGEN ENDIF NK_NKNOCOMP
      KERNELFIXUPS=ON
    
      FSRAMPERCENT=0x0A0A0A0A
      AUTOSIZE=ON
    
    IF IMGPROFILER  
      PROFILE=ON
    ELSE
      PROFILE=OFF
    ENDIF
    
    IF IMGFLASH
      ROMOFFSET=FC000000
    ENDIF
    
    ;
    ; ROMFLAGS is a bitmask of options for the kernel
    ;  ROMFLAGS  0x0001   Disallow Paging
    ;  ROMFLAGS  0x0002   Not all KMode (not supported under CE6)
    ;  ROMFLAGS  0x0010   Trust Module only
    ;
    ROMFLAGS=1
    
    ; Make an NB0 if ULDR is built
    IF IMGULDR
      ; make an NB0
      ROMSTART=84001000
    IF WINCEDEBUG=debug
      ROMSIZE=02000000
    ELSE
      ROMSIZE=01000000
    ENDIF WINCEDEBUG
      ROMWIDTH=32
    ENDIF


    Thanks

    Wednesday, August 17, 2011 7:56 PM

All replies

  • I have the same issue if I cut the partition size too close to the actual size of the image. I usually increase it marginally so that eboot can load it correctly. 
    Thursday, August 18, 2011 2:56 AM
  • Ok thanks, I'm going to try that. One thing that make me think it won't work is that the release image is 14.5MB... which is a lot smaller than the 32 MB reserved.

    Anyway, I'm going to give it a try! Thanks for the suggestion.

     

    Thursday, August 18, 2011 1:54 PM
  • Hi, David. Have you resolved your problem? I have similar one...
    • Edited by goranjak Thursday, November 17, 2011 1:01 PM
    Thursday, November 17, 2011 10:31 AM