Go to previous topic
Go to next topic
Last Post 01 Apr 2007 05:53 PM by  mabius@bu.edu
Boot troubles with BSP created image
 2 Replies
Author Messages
mabius@bu.edu
New Member
New Member
Posts:


--
31 Mar 2007 09:42 PM
    Currently I am having trouble completing the boot process for an image I created in Platform Builder after getting the BSP. We are using the Zoom Development Kit for the Intel PXA270 card engine. I created the image following the users manual, only I added the serial driver to enable ActiveSync. We have a custom display hooked up (Sharp LS037V7DW01) which I have successfully configured in LoLo. I load the image through a CompactFlash card, which I then mount and copy to RAM before booting. I initialize the display in LoLo before I call the following bootscript:

    exec rtc:rtc_pxa270:dbg_serial:PXA270_FFUART:skiplcdcinit:1

    The debug window returns the following:

    losh> exec rtc:rtc_pxa270:dbg_serial:PXA270_FFUART:skiplcdcinit:1
    Debug serial initialized. Using driver PXA270_FFUART
    Windows CE Kernel for ARM (Thumb Enabled) Built on Jun 24 2004 at 18:25:00
    ProcessorType=0411 Revision=7
    sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 802011f4


    ==============================================================
    WinCE firmware init (LoCE)

    Driver Globals at: 0x80000000.
    Kernel Arguments: "rtc:rtc_pxa270:dbg_serial:PXA270_FFUART:skiplcdcinit:1"
    image_size: 0x1000000
    ram_size: 0x2E00000
    link_for_flash: 0
    relocate_from_flash: 0
    rom_offset: 0x20000000
    ==============================================================

    No extended contiguous RAM detected .
    Multiple XIP regions not defined or fixup failed.
    Cold-boot: erasing object store.
    Initializing interrupts.
    Interrupt initialization complete.
    Initializing system-tick.
    System-tick initialized.
    RTC initialized. Using driver rtc_pxa270.
    debug_ether: not activated.
    Firmware initialization complete.

    Platform does not support or require incontiguous extension DRAM.
    ==============================================================
    -Available System RAM-
    Contiguous RAM: 0x02E00000
    Incontiguous extension RAM: 0x00000000
    Total RAM: 0x02E00000
    ==============================================================

    Sp=ffffc7cc
    PXA270_UART: Resource conflict! FFUART in use for debug serial output.
    PXA270_UART: FFUART will not be accessible.
    Boot string calls for no LCDC init
    Maximum Allowed Error 26:

    The boot process seems to stop here. The screen, however, properly displays the Windows CE desktop, but I am unable to navigate using the touch screen - this seems to be due to a calibration issue because after a while of poking around I am able to touch a seemingly random part of the screen and the Start Menu pops up. The device also successfully connects to ActiveSync and I can see the device on my desktop, but this connection process is not seen in the debug window. I am not sure what the "Maximum Allowed Error 26:" means, nor how to initialize the touch screen in a way so that it is at least semi-calibrated so I can navigate the desktop.

    Note: I tried booting this image again without the display (bootscript: "exec rtc:rtc_pxa270:dbg_serial:PXA270_FFUART:") and it still hangs at "Maximum Allowed Error 26:"

    Thanks.
    timn@apc-hero.co.uk
    New Member
    New Member
    Posts:


    --
    01 Apr 2007 01:41 PM
    Hello Mabius

    The boot procedure was fine, the "max number of errors allowed 26" is the normal message with a sucessful boot.
    You should use the Logic drivers for the LCD and touch screen. The default boot is to display number 5 which is VGA like the LS037V7DW01 screen you are using - but you need to modify the LCDC registers in that Mode 5 of the LCD driver (the same as you did for LoLo). The touch screen driver also defaults to 5 and that should be OK for your screen as it is still landscape, I think?

    So then you can boot without the skiplcdcinit flag.

    Please share the LCDC settings for the Sharp display as I may try to use that screen myself in the near future. We are currently using a Sharp LQ043 series (4.3" 16:9 480x272) with touch.
    mabius@bu.edu
    New Member
    New Member
    Posts:


    --
    01 Apr 2007 05:53 PM
    The screen is Portrait view actually. I have enabled the screen in LoLo with the following registry values:
    Quote:
    dev_config->screen[0]: test x: 480 y: 640
    LCCR0: 0x063018f8
    LCCR1: 0x4e5605df
    LCCR2: 0x0206067f
    LCCR3: 0x0470ef01
    LCCR4: 0x00000000
    LCCR5: 0x00000000
    Frame Buffer: 0xa0100000


    This works within LoLo. In order to get the display to work in WinCE, I amended the registry file located at: ...\WINCE500\PLATFORM\LoCE\bin\lpd_drivers\lpd_pxa27x_lcdc_gpe_pxa270_50_0_3_2\

    Here I changed the default display to Mode0 and the clear screen color to black (00):
    Quote:
    [HKEY_LOCAL_MACHINE\System\GDI\Drivers]
    "Display"="lpd_pxa27x_lcdc_gpe_pxa270_50_0_3_2.dll"

    [HKEY_LOCAL_MACHINE\Drivers\Display\PXA27X_LCDC_GPE]
    "DisplayNumber"=dword:0

    "SkipLCDCInit"=dword:0
    "ClearScreenColor"=dword:00
    "EnableCursor"=dword:1
    "FbPhyAddr"=dword:A0100000
    "FbSize"=dword:EA600 ; Room enough for 800x600 at 16 Bpp.


    I then added Mode0 at the end of the file:
    Quote:
    ; Mode0: Custom Panel Settings (copy and modify from above)
    ; (Sharp LCD-3.7-VGA Display, LS037V7DW01)
    [HKEY_LOCAL_MACHINE\Drivers\Display\PXA27X_LCDC_GPE\0]
    "Width"=dword:1E0 ;480 Horizontal
    "Height"=dword:280 ;640 Vertical
    "nom_freq"=dword: 60 ;not used - place holder
    "EGPEFormat"=dword: 4 ;16bpp format
    "Bpp"=dword:10 ;16bpp

    "lccr0"=dword: 063018F8
    "lccr1"=dword: 4E5605DF
    "lccr2"=dword: 0206067F
    "lccr3"=dword: 0470EF01
    "lccr4"=dword: 00000000
    "lccr5"=dword: 3F3F3F3F

    ; "EGPEFormat"=dword: 3 ;8bpp
    ; "Bpp"=dword: 8 ;8bpp
    ; "lccr3"=dword: 03000007 ;8bpp


    The LCCR values match those I used in LoLo except for LCCR5 which appears as "00000000" in LoLo. The "3F3F3F3F" value is used for LCCR5 in all modes in the reg file and I figured I should leave it as such (plus I've tried changing it to 0's which yields the same results).

    The image compiles successfully with no errors and 6 warnings. After loading the image to the board and executing, I get the following error which repeats forever until I reset the board:
    Quote:
    Exception 'Prefetch Abort' Thread=83fff024 AKY=00000001 PC=00000000 BVA=00000000
    R0=00000000 R1=00000000 R2=00000000 R3=00000000
    R4=00000000 R5=00000000 R6=00000000 R7=00000000
    R8=00000000 R9=00000000 R10=00000000 R11=00000000
    R12=00000000 SP=00000000 Lr=00000000 Psr=8000001f
    Prefetch Abort: Thread=83fff024 Proc=8124b1e0 'NK.EXE'
    AKY=00000001 PC=00000000(???+0x00000000) RA=80207a08(NK.EXE+0x00007a08) BVA=0000
    0000 FSR=00000400


    I've tried several different bootscripts (one with skiplcdcinit:1, one without it, one with disp_num:0:, and one with no display commands) and they all yield the same error.

    I am still new to developing for WindowsCE and appreciate the help. Thanks.


    ---