Search

Technical Discussion Group Forum

This forum is provided for user discussion. While Beacon EmbeddedWorks support staff and engineers participate, Beacon EmbeddedWorks does not guarantee the accuracy of all information within in the Technical Discussion Group (TDG).

The "Articles" forums provide brief Articles written by Beacon EmbeddedWorks engineers that address the most frequently asked technical questions.

To receive email notifications when updates are posted for a Beacon EmbeddedWorks product download, please subscribe to the TDG Forum of interest.

TDG Forum

PrevPrev Go to previous topic
NextNext Go to next topic
Last Post 23 Mar 2005 07:06 AM by  kbeauchesne@monarchinstrument.com
Running CE Sample Development Images with other displays
 13 Replies
Sort:
You are not authorized to post a reply.
Author Messages
noshtims
New Member
New Member
Posts:


--
19 Jan 2005 06:24 PM
    Hello, is it possible to load the sample development images on my platform using a display other then the display kits? I have a 1024x768 TFT 16BPP DCLK=50 to 60MHz. I am able to get the display to work from LOLO by setting the display driver parameters accordingly. It is not clear to me, however, about how this is done for the demo images. Can this be done using a boot script? If so can you provide some details on how this might be done?

    Thanks,
    -Bill
    mikee@logicpd.com
    New Member
    New Member
    Posts:


    --
    20 Jan 2005 09:27 AM
    Not really, you will need to use the binary BSP to do so. I assume you are referring to some "nk.bin" file you downloaded from our website. The driver loads everything from the registry, but those registries have already been compiled into the "nk.bin", so you won't be able to make the necessary changes.

    If you have, or get, the binary BSP, you can make it work in a snap. In that case, the only thing you need to do is add an entry in the display driver's registry file to support your screen. Then, via the same registry file, tell the driver to load that screen at startup. So, absolutely no code changes are necessary, just a bit of extending the registry file.

    If you look in the registry file, you should be able to figure it all out, check the extensive comments at the top and let me know if you have any other questions.

    Hope that helps,
    --mikee
    mikea@logicpd.com
    New Member
    New Member
    Posts:


    --
    20 Jan 2005 12:54 PM
    If the NK.bin you are using is set up to use the Hive registry, you can boot the image up, use a registry editor to change one of the LCD registery modes. Once you make sure the registry has been saved, you can reset and the LCD driver should use the values you stuck in there. (If it doesn't use the Hive Registry, this is not applicable)

    The default display I believe is set to mode '5', which is the LQ64D343. (Our 6.4" display kit) Here are the keys that you will want to know about. Also, check out the driver doc for more info. The parameters include the display parameters and the LCD controller registers. You can read these using LogicLoader's 'x' command at address 0x80003000 for the LCDC registers. Again, check out the LCDC driver doc for details.

    [HKEY_LOCAL_MACHINE\Drivers\Display\LH7a400_LCD]
    "DisplayNumber"=dword:5

    ; Mode5: Sharp LQ64D343 6.4" 640x480 TFT Display
    [HKEY_LOCAL_MACHINE\Drivers\Display\LH7a400_LCD\5]
    "Width"=dword:280
    "Height"=dword:1E0
    "nom_freq"=dword: 1803760
    "EGPEFormat"=dword: 4
    "Bpp"=dword:10
    "bpp16mask"=dword:0

    "lcdtiming0"=dword: 59320e9c
    "lcdtiming1"=dword: 1d5e11df
    "lcdtiming2"=dword: 027f1802
    "lcdtiming3"=dword: 00000000
    "lcdctrl"=dword: 00010020
    "upbase"=dword: C1C00000
    "lpbase"=dword: 00000000

    "icptiming1"=dword: 00000000
    "icptiming2"=dword: 00000000
    "icpsetup"=dword: 000027f0
    "icpctrl"=dword: 00000000
    noshtims
    New Member
    New Member
    Posts:


    --
    20 Jan 2005 03:20 PM
    Is the binary BSP a downloadable item? Does it need to be purchased? Once I have it can I tie it into platform builder, edit registries, build, and then use the NK.bin as the OS?

    Do the sample images I downloaded from the Logic website support a Hive Registry?

    Thanks,
    -Bill
    Anonymous
    Posts:


    --
    20 Jan 2005 03:30 PM
    Bill,


    Is the binary BSP a downloadable item?


    Yes, however Logic requires a signed license agreement approved by Sales before access is granted to the Binary BSP and other components. Please contact productsales@logicpd.com to discuss the terms of the SLA. You can download the SLA at the following link:

    http://www.logicpd.com/downloads/archives/884/WinCE_BSP_License_Agreement_.pdf

    Once I have it can I tie it into platform builder, edit registries, build, and then use the NK.bin as the OS?

    Yes you can.

    Do the sample images I downloaded from the Logic website support a Hive Registry?

    Yes a Hive Registry is contained in the WinCE Sample images. For more information on using Logic's WinCE Sample Development Images please refer to the Zoom Starter Development Kit WindowsCE Evaluation Guide. It can be found at the following link.

    http://www.logicpd.com/downloads/481/1001090_Rev_B.pdf

    Regards,
    noshtims
    New Member
    New Member
    Posts:


    --
    21 Jan 2005 09:39 AM
    Can someone please elaborate on Michaels comment about using a registry editor to change the Hive registry so that I can properly configure the sample image to run the LCD that I am using.

    I currently can boot the WinCE 5.0 sample image I downloaded from the Logic website. I am told it uses a Hive Registry.

    Once the image is booted, how do I access and edit the registry if I have no video?

    Can this be done from LOLO, ActiveSync? Is LOLO available after the image boot?

    I didn't see anything specifically in any document about how to edit the registry in this manner.

    Sorry about all the questions, but this is virgin territory for me.

    Thanks,
    - Bill
    Anonymous
    Posts:


    --
    21 Jan 2005 10:50 AM
    noshtims,

    Once the image is booted, how do I access and edit the registry if I have no video?

    You can access this by connecting through the Remote Tools in platform builder or eVC++ through ActiveSync. Below is an MSDN link that has more in depth information about the remote registry editior.

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcedebug5/html/wce50conRemoteRegistryEditor.asp

    Can this be done from LOLO, ActiveSync? Is LOLO available after the image boot?


    LoLo does not interact with ActiveSync and is not available after the WinCE image has been booted. You're going to need to configure your Platform Manager as described on page 10 in the Zoom Starter Development Kit WindowsCE Evaluation Guide.

    Please feel free to post back to this thread with more questions regarding this.

    Thanks,
    noshtims
    New Member
    New Member
    Posts:


    --
    25 Jan 2005 12:51 PM
    I am hoping this question will close this thread.

    Michal A. commented previously about using a registry editor to change the WinCE display settings and save them;

    Quote:
    If the NK.bin you are using is set up to use the Hive registry, you can boot the image up, use a registry editor to change one of the LCD registery modes. Once you make sure the registry has been saved, you can reset and the LCD driver should use the values you stuck in there.


    I am using the remote registry editor to do this but I see no means of saving the registry. How is this done? Is the file saved outside of the NK.BIN or is it pushed back into the NK.BIN?

    Thanks,
    -Bill
    Anonymous
    Posts:


    --
    25 Jan 2005 03:54 PM
    Bill,

    The HIVE registry is saved out to the CF card. If you look under

    \Documents and Settings\WinCE_User on the CF you'll notice a file called 'user.hv'. This file is non modifiable outside of the remote registry editor.

    Please note that the file 'user.hv' is only visible if you are looking on the CF card from your PC, when the WinCE Image is running you cannot navigate to this file.

    Regards,
    mikea@logicpd.com
    New Member
    New Member
    Posts:


    --
    26 Jan 2005 06:38 PM
    In order to have the hive registry actually saved, the RegFlushKey() function must be called. The simplest way to do this is by hitting 'suspend' in the start menu, which will call RegFlushKey() before going into suspend.

    This call will save all changes to the current registry to the persistent storage's 'hive' registry.
    noshtims
    New Member
    New Member
    Posts:


    --
    27 Jan 2005 07:14 PM
    Thanks guys for the help,

    I actually wrote a simple App using the RegFlushKey() API. This seemed to work but I will try the suspend as well. I think all I need to do now to get my display to work is to find the correct values for the reg keys.

    Thanks,
    - Bill
    mikea@logicpd.com
    New Member
    New Member
    Posts:


    --
    27 Jan 2005 07:33 PM
    Bill,
    Glad to hear this seems to be working.

    Since you have the LCD working in LogicLoader, you should be able to simply read the LCDC registers using the following command:

    losh> x /w 0x80003000 0x20

    This should give you the values you need to use with the CE display driver. Typically, you should only need to change the following registers:

    timing0
    timing1
    timing2
    contrl - shouldn't need to change this, just copy what the other TFT modes are using.


    I'm curious to see what kind of performance this big display has on your system in CE. You may or may not be aware that the LH7A400 user guide specs that using 1024x768 mode must be in 8bpp. You may want to change to this if you find it is not working well.

    Also, we have reserved enough space for the frame buffer for 800x600 at 16bpp, or 0xEA600 bytes. This value is set in the registry also under.

    [HKEY_LOCAL_MACHINE\Drivers\Display\LH7a400_LCD]
    "FbSize"=dword:EA600

    This will be enough if you are using 8bpp (1024x768 = 0xC0000), but not enough for 16bpp (1024x768x2 = 0x180000).
    noshtims
    New Member
    New Member
    Posts:


    --
    28 Jan 2005 12:36 PM
    If I increase the frame buffer reg key ("FbSize"=dword:EA600) to ("FbSize"=dword:600000) to accomodate the 1024x768 16Bpp will the mmu allocate the frame buffer during bootup or will I stomp on used memory?

    While I am at it, am I able to peek physical memory remotely while the image is running? I would like to confirm the CLCDC register settings after the image loads?. Can this be done from eVC++?

    By the way when running this display from LOLO at 1024x768 16Bpp the image seems to be pretty good, but I have yet to display anything other then the color gradient. I will try some image bitmaps and see how they look.

    Thanks,
    - Bill
    kbeauchesne@monarchinstrument.com
    New Member
    New Member
    Posts:


    --
    23 Mar 2005 07:06 AM
    Here is a sample of how we used lolo to create a custom landscape
    320 x 234 . You can use lolo to set the registers and display a bitmap
    to check out your values, in our case we used some RGB colors and
    circles to get it straight.

    scr-setparam 7 x=320
    scr-setparam 7 y=234
    scr-setparam 7 nom_freq=06460000
    video-open 7 16
    w /w 0x80003000 0x3b070b4c
    w /w 0x80003004 0x0f0f04e9
    w /w 0x80003008 0x013F180E
    w /w 0x8000300C 0x00000000
    w /w 0x8000301C 0x00000929
    mount fatfs /cf
    bitmap /cf/TEST.BMP

    hope it helps

    Ken
    You are not authorized to post a reply.