Please note as of Wednesday, August 15th, 2018 this wiki has been set to read only. If you are a TI Employee and require Edit ability please contact x0211426 from the company directory.

WinCEFAQ

From Texas Instruments Wiki
Jump to: navigation, search

Windows Embedded Compact Software Development Kits (SDK) Update from Texas Instruments. Feb 28, 2012

Texas Instruments would like to announce a new strategic relationship with Adeneo Embedded for the release and support of new Windows Embedded Compact Software Development Kits (SDK) for TI based ARM Cortex-A8 and ARM9 devices.Adeneo Embedded, in close collaboration with TI, will be releasing WEC7 SDKs including support for the newer AM335x and AM387x based EVMs from Texas Instruments on February 28, 2012. TI has worked with Adeneo Embedded to bring these high quality WEC7 SDK releases to market. Adeneo Embedded has extensive experience working with TI and Microsoft on previous SDKs and Adeneo Embedded is a Microsoft Windows Embedded Gold partner.

Adeneo Embedded Contact Information

  • Weblink - Link
  • Support contact – tech@adeneo-embedded.com
  • Sales contact – sales@adeneo-embedded.com

GENERAL

Availability of TI offered BSPs

Availability of other BSPs

Device Version Release Date Vendor Link Comment
Sitara AM1808 EVM CE 6.0 R3 February 2011 Adeneo Embedded Info Free source code BSP from TI distributed by Adeneo Embedded. Adeneo Embedded provides free community support on this BSP through TI e2e forums (http://e2e.ti.com). Professional support and development services is available from Adeneo Embedded for customers using this BSP for industrial device developments.
OMAP L138 EVM CE 6.0 R3 February 2011 Adeneo Embedded Info Free source code BSP from TI distributed by Adeneo Embedded. Adeneo Embedded provides free community support on this BSP through TI e2e forums (http://e2e.ti.com). Professional support and development services is available from Adeneo Embedded for customers using this BSP for industrial device developments.
Sitara AM35x EVM CE 6.0 R3 February 2011 Adeneo Embedded Info Free source code BSP from TI distributed by Adeneo Embedded. Adeneo Embedded provides free community support on this BSP through TI e2e forums (http://e2e.ti.com). Professional support and development services is available from Adeneo Embedded for customers using this BSP for industrial device developments.
OMAP35x EVM CE 6.0 R3 February 2011 Adeneo Embedded Info Free source code BSP from TI distributed by Adeneo Embedded. Adeneo Embedded provides free community support on this BSP through TI e2e forums (http://e2e.ti.com). Professional support and development services is available from Adeneo Embedded for customers using this BSP for industrial device developments.
Sitara AM35x EVM Windows Embedded Compact 7 September 2011 Adeneo Embedded Info Free source code BSP from TI distributed by Adeneo Embedded. Adeneo Embedded provides free community support on this BSP through TI e2e forums (http://e2e.ti.com). Professional support and development services is available from Adeneo Embedded for customers using this BSP for industrial device developments.
OMAP35x EVM Windows Embedded Compact 7 September 2011 Adeneo Embedded Info Free source code BSP from TI distributed by Adeneo Embedded. Adeneo Embedded provides free community support on this BSP through TI e2e forums (http://e2e.ti.com). Professional support and development services is available from Adeneo Embedded for customers using this BSP for industrial device developments.
Sitara AM37x / DaVinci DM37x EVM Windows Embedded Compact 7 September 2011 Adeneo Embedded Info Free source code BSP from TI distributed by Adeneo Embedded. Adeneo Embedded provides free community support on this BSP through TI e2e forums (http://e2e.ti.com). Professional support and development services is available from Adeneo Embedded for customers using this BSP for industrial device developments.
Sitara AM387x / DaVinci DM814x EVM Windows Embedded Compact 7 February 2012 Adeneo Embedded Info Free source code BSP from TI distributed by Adeneo Embedded. Adeneo Embedded provides free community support on this BSP through TI e2e forums (http://e2e.ti.com). Professional support and development services is available from Adeneo Embedded for customers using this BSP for industrial device developments.
Sitara AM335x EVM Windows Embedded Compact 7 February 2012 Adeneo Embedded Info Free source code BSP from TI distributed by Adeneo Embedded. Adeneo Embedded provides free community support on this BSP through TI e2e forums (http://e2e.ti.com). Professional support and development services is available from Adeneo Embedded for customers using this BSP for industrial device developments.
Sitara AM335x Starter Kit Windows Embedded Compact 7 June 2012 Adeneo Embedded Info Production quality BSP available from Adeneo Embedded. Free binary evaluation image download or full commercial source licence including support available from Adeneo Embedded website. Adeneo Embedded also provides additional professional support and development services for customers using this BSP for industrial device developments.
OMAP4430 Blaze Windows Embedded Compact 7 June 2012 Adeneo Embedded Info Free 90d evaluation access to source code under NDA. BSP source code provided for commercial or industrial device development through Adeneo Embedded professional support or development services contracts
BeagleBoard XM Windows Embedded Compact 7 April 2011 Adeneo Embedded Info Production quality BSP available from Adeneo Embedded. Free binary evaluation image download or full commercial source licence including support available from Adeneo Embedded website. Adeneo Embedded also provides additional professional support and development services for customers using this BSP for industrial device developments.
BeagleBone Windows Embedded Compact 7 April 2012 Adeneo Embedded Info Production quality BSP available from Adeneo Embedded. Free binary evaluation image download or full commercial source licence including support available from Adeneo Embedded website. Adeneo Embedded also provides additional professional support and development services for customers using this BSP for industrial device developments.
BeagleBoard 2008 Special Computing CodePlex.com Watch the video!
Gumstix Overo 2009 Several Gumstix 3P site
Gumstix Overo 2009 Adeneo Embedded Adeneo Embedded website Watch the video demo!
Variscite VAR-SOM-OM35 CE6 R3 12-2008 Variscite Variscite VAR-SOM-OM35 Variscite offers complete off-mode support. 5ma at Suspend. 100mSec to full resume.
OMAP35xx Zoom(tm) board CE 6.0 11-2008 Logic Info Demo available for registered users
OMAP3530 EVM CE 6.0 R2 CeWiDus Technologies Info
DM6447 CE 6.0 R2 CeWiDus Technologies Info
DM6446 DVEVM CE 6.0 Mistral Info Binary Eval available
DM6446 EVM CE 5.0 TI/Mistral Official TI Windows CE EVM Software page
DM355/ DM335
EVM
CE 6.0 R3 24 Nov 2009 MPC Data Info Production quality BSP for the DM355 EVM available from MPC Data. Hardware acceleration support for SD JPEG & MPEG. Free binary evaluation image download or full commercial source licence including support.
DM365/DM368 EVM CE 6.0 R3 08 July 2010 MPC Data Info Production quality BSP for the DM365 and DM368 EVM available from MPC Data. Hardware acceleration support for SD JPEG & MPEG, HD H.264 / VC1 capable. Free binary evaluation image download or full commercial source licence including support.
HawkBoard
OMAP-L138/AM1808
CE 6.0 R3 08 June 2010 MPC Data Info Production quality BSP available from MPC Data. Free binary evaluation image download or full commercial source licence including support.
BeagleBoard
OMAP3530
CE7 CTP Beta 09 July 2010 MPC Data Info Beta version of the Windows Embedded Compact 7 BSP for the Beagleboard.
Watch the video!
DM6446 EVM CE 6.0 MPC Data Info
BeagleBoard
OMAP3530
(BeagleBoard-xM support coming soon)
CE 6.0 R3 01 July 2010 MPC Data Info Production quality BSP available from MPC Data. Free binary evaluation image download or full commercial source licence including support.
Watch the video!

Availability of Drivers

Device Version Release Date Vendor Link Comment
WL1271 Alpha

(CE 6.0 R3 based)

06-2010 TI/Adeneo Drivers under development. Alpha release of the Drivers available from Adeneo Embedded. Contact Adeneo Embedded for early access, questions and support


Terminology and Acronyms

  • What is PB?

PB stands for Microsoft Platform Builder. Starting from Windows Embedded CE6.0, PB became part of Microsoft Visual Studio via a plugin.

  • What is an FRD?

FRD stands for Flat Release Directory. In the build system, it is the location where all build output files are located, e.g. nk.bin, shell.exe, reginit.ini, ce.bib, etc... You can access it from a build command line by typing the following:

C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\DRIVERS>cd %_FLATRELEASEDIR%

And you should get to a location like:

C:\WINCE600\OSDesign\EVM_3530\RelDir\TI_EVM_3530_ARMV4I_Release>

Compile

How to speed up compilations

  • Building is very I/O intensive. Most developers have seen a significant performance improvement if the WINCE600 directory is on a drive other than you C drive.
  • Virus scanning during build time. Exclude the WINCE600 directory, temp directory, and some processes (listed below) from virus scanning
    • build.exe
    • cl.exe
    • link.exe
    • makeimg.exe
    • nmake.exe
    • rc.exe
    • xcopy.exe
  • Also, set the TEMP/TMP environment variables in your build environment to an empty directory. The easiest way to do this is to right-click your OS design in Platform Builder, click the “Properties” context menu item, open the environment tab, and add the environment variables.

KITL Debug via Ethernet

This is more or less straight forward. It is recommended to use a dedicated IP network with a small router. DHCP is default in current EBOOT. You may also use fixed IP address and mask if needed. However the debug device needs to be set to LAN9115 MAC manually in EBOOT config. You may even enable KITL debug if you boot the kernel image from SD. Platform builder is able to connect to the kernel once booted - given the KITL kernel support was enabled.

KITL Debug via USB

Debug support via USB works similar to via Ethernet but you need to install a RNDIS USB driver on your PC. This might have happended with the installation of Active Sync already. However if you don't want Active Sync on your PC you may install the RNDIS driver manually.

Follow the 'howto.txt' here: c:\WINCE600\PUBLIC\COMMON\OAK\DRIVERS\ETHDBG\RNDISMINI\HOST.

Windows XP will ask for the .INF file once you connect your EVM with USB KITL debug enabled. Make sure you select ETHERNET in the 'Target/Connectivity Options' in Platform Builder and then select the device that shows up.If it doesn't show up check the configuration of the USB RNDIS driver in your PC network options.

Application Development

C/C++

C and C++ are naturally supported by the development environment (mainly MS Visual Studio). Application programming requires a Software Development Kit (SDK). Usually SDKs are target platform and BSP release dependent. So make sure you are using a SDK delivered for your current BSP.

.NET Languages

Microsoft does support .NET 2.0 and .NET 3.5 Compact Frameworks with Windows CE 6.0. Adding required libraries is done by just selecting appropriate options in the Platform Manager. .NET Compact Frameworks support programming in C# and Visual Basic.

Java

There are commercial as well as open source Java Virtual Machines available for WinCE. Some info is here. Precompiled builds that have been partially tested on OMAP3 EVM are available too.

Qt Application Framework

Qt(tm) is a cross-platform application framework. Using Qt, you can develop applications and user interfaces once, and deploy them across many desktop and embedded operating systems without rewriting the source code. Latest versions of Qt are available with full sources under a LGPLv2.1 license. Basic porting info is available here.

OMAP35xx

BOOT

Flashing the EBOOT bootloader

Use EVMFlash tool and change SW4 DIP switch settings to select:

Either flash over SERIAL option:

Select UART as the 1st boot device and ONENAND or NAND as the 2nd boot device, change SW4 to:

  1. For Samsung OneNAND flash mounted board:
	position 1=ON,  2=OFF, 3=OFF, 4=ON,  5=OFF, 6=OFF, 7=OFF, 8=OFF
        
  1. For Micron NAND flash mounted board:
        position 1=OFF, 2=ON,  3=OFF,  4=ON, 5=OFF, 6=OFF, 7=OFF, 8=OFF
        
Or flash over USB option:

Select USB as the 1st boot device and ONENAND or NAND as the 2nd boot device, change SW4 to:

  1. For Samsung OneNAND flash mounted board:
	position 1=ON,  2=ON,  3=OFF, 4=ON,  5=ON,  6=OFF, 7=OFF, 8=OFF
        
  1. For Micron NAND flash mounted board:
        position 1=OFF, 2=OFF, 3=ON,  4=OFF, 5=OFF, 6=OFF, 7=OFF, 8=OFF
        

Booting from Samsung OneNAND

Change SW4 DIP switch settings to select OneNAND as the 1st boot device. Use one of the following:

        position 1 ON,  2 ON,  3 ON,  4 ON,  5 ON,  6 ON,  7 OFF, 8 OFF
	position 1 ON,  2 OFF, 3 ON,  4 ON,  5 ON,  6 ON,  7 OFF, 8 OFF
	position 1 ON,  2 ON,  3 OFF, 4 ON,  5 ON,  6 ON,  7 OFF, 8 OFF
	position 1 ON,  2 ON,  3 ON,  4 ON,  5 OFF, 6 ON,  7 OFF, 8 OFF
	position 1 ON,  2 OFF, 3 OFF, 4 ON,  5 OFF, 6 ON,  7 OFF, 8 OFF
        

Booting from Micron NAND

Change SW4 DIP switch settings to select NAND as the 1st boot device. Use one of the following:

        position 1=OFF, 2=ON,  3=ON,  4=ON,  5=ON,  6=ON, 7=OFF, 8=OFF (NAND, SSI, USB)
	position 1=ON,  2=ON,  3=ON,  4=OFF, 5=ON,  6=ON, 7=OFF, 8=OFF (NAND, SSI, USB, MMC1)
	position 1=OFF, 2=OFF, 3=OFF, 4=OFF, 5=ON,  6=ON, 7=OFF, 8=OFF (NAND, USB, UART, MMC1)
	position 1=OFF, 2=ON,  3=OFF, 4=ON,  5=OFF, 6=ON, 7=OFF, 8=OFF (NAND, UART)
	position 1=OFF, 2=OFF, 3=ON,  4=OFF, 5=OFF, 6=ON, 7=OFF, 8=OFF (NAND, USB)
        

Booting from an SD Card

  1. Format the SD Card under WinXP.
  2. Make the SD Card bootable using Roadkil's sector editor or another utility by:
    1. Download the editor: Roadkil Sector Editor
    2. Open your SD card physical sector
    3. Write 0x80 (mark MBR as bootable) at offset 0x1BE (1st partition entry of the partition table)
    4. Save sector
    5. Exit Sector Editor application
  3. Build your OS Design if you haven't already done so. Make sure IMGFLASH=1 is not checked under Configuration Properties->Build Options in the Project Properties.
  4. Copy ONLY the MLO file to your SD card so that it gets copied at the start of the memory
  5. Now, you can also copy both the EBOOTSD.NB0 and the NK.BIN files
  6. Configure your EVM SW4 switch with position 1-3 ON, 4-5 OFF, 6 ON, 7-8 OFF
  7. Plug your SD Card into the EVM.
  8. Power on the EVM -> it should boot from SD (Auto-detect of boot settings based on the SW4 switch configuration)
 PS: you can also use a Microsoft utility called DskProbe.exe.

Device Drivers

USB Host Mode

The BSP releases 6.08/6.09 do have known issues with USB 2.0 hubs. There are two recommended solutions for this:

  • Use a USB 1.1 self-powered hub
  • Use a Mini-B to USB-A female converter cable. Connect a USB device directly and it works. This has been tested with USB mouse, keyboard and memory sticks. Of course it won't work for the devices that exceed the power coming from the EVM USB connector and only for a single device at a time. You don't need to reboot for WinCE to recognize the new USB device.

How to enable DVI output if booted with LCD?

There is a special omap shell extention in the BSP that has a couple of commands to modify display behaviour. The commands have to be entered on the 'Target Control' window of Platform Builder. So the commands are only available if you have an active KITL debug connection.

E.g. 'dvi on/off' does switch the DVI. It does not change the resolution or rotation so the use is somehow limited. Especially my monitor could not display the 57Hz refresh of the LCD driver. Changing this to 63Hz worked but caused an issue with the LCD. I haven't found a good match yet that would work for LCD and DVI out. Anyway there is also a 'rotation' command and if you change an option and recompile the shell you can get a 'cacheinfo' command. Type '?' inside the shell for all commands or see c:\WINCE600\PLATFORM\EVM_3530\SRC\TEST\SHELL\shell.cxx.

BSP customizations

How to reserve memory regions?

In %_WINCEROOT%\PLATFORM\TI_EVM_3530\FILES\config.bib file, change the memory configuration as you would like it to be.

DEBUGGING TECHNIQUES

Remote Control

Omap3 host.jpg
What is required to remotely control the WinCE system from a PC:
  1. Enable "CE Remote Display application" in platform builder
  2. Build and load new image, start \Windows\Cerdisp.exe on target system - press Start
  3. Make sure there is an Ethernet connection between WinCE system and PC
  4. Start c:\WINCE600\PUBLIC\COMMON\OAK\BIN\I386\cerhost.exe on your PC - select File/Connect

Cerhost should automatically detect your WinCE system and display the screen. All keyboard and mouse inputs from host are redirected to the target system as long as the remote control window has the focus. Video/graphics overlays (e.g. from Media Player or Graphics test programs) are not forwarded to the host! This has been tested with LCD as well as DVI output configurations for the BSP. Screen size up 1280x720 is possible in DVI mode with good performance.

Use of "findfatal" command

When you build in command line using command "blddemo", you might encounter build errors. Microsoft introduced a batch file called "findfatal.bat" which helps you find the last error that made the build failed. How to use it? Type in "findfatal" at the DOS prompt. The ouput will look like this:

C:\WINCE600\PLATFORM\<your platform>\>findfatal

Scanning C:\WINCE600\build.log for 'fatal' and 'ERRORE'
***********************************
Total fatals found: 0
***********************************

Switching dynamically to kernel debugger mode

  1. I'm connected to Platform Builder via Kitl
  2. My nk.bin image has been built in retail mode: build environment variable "wincedebug=retail" and,
  3. IMGNODEBUGGER build environment variable is set i.e. IMGNODEBUGGER=1

You can check your build environment variables by entering a DOS build window and type in the following commands:

C:\WINCE600\PLATFORM>set wincedebug

and

C:\WINCE600\PLATFORM>set IMGNODEBUGGER

Now, you can enable the kernel debugger by simply running the following command in the PB shell, it will load all the symbols into the kernel debugger:

Windows CE>s loaddbg

TESTING & BENCHMARKING

How to play a movie in full screen by default using ceplayer

Use the keypad "Alt+Enter" key combination or add to your registry settings the following value:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CEPlayer]
"AlwaysFullSize" = DWORD:0x1

How to generate a test file with a specific size

WARNING: below instructions are low-level disk operations. Make sure you have backups of all your drives!

  • You can use the Unix tool ported to Windows. It is called dd.exe and it is freely available here: dd.zip
  • Then, by default dd.exe will use 512 bytes for a block size. Hence, if you want to generate a 10MB file size, you'll have to specify the parameter "count=20480" i.e. 20480x512=10485760bytes
  • To know what are your available Volumes / Disks, use the command:>dd --list
  • The exact syntax will be (filling the file with zeros): >dd if=/dev/zero of=\\.\Volume{b6ab47c8-e3a3-11dc-9ee5-806d6172696f}\Temp\10MB.txt count=20480
  • The output should look like this:
rawwrite dd for windows version 0.5.
Written by John Newbigin <jn@it.swin.edu.au>
This program is covered by the GPL.  See copying.txt for details
20480+0 records in
20480+0 records out