NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.
WinCEFAQ
Contents
- 1 Windows Embedded Compact Software Development Kits (SDK) Update from Texas Instruments. Feb 28, 2012
- 2 GENERAL
- 3 OMAP35xx
- 4 DEBUGGING TECHNIQUES
- 5 TESTING & BENCHMARKING
Windows Embedded Compact Software Development Kits (SDK) Update from Texas Instruments. Feb 28, 2012[edit]
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[edit]
- Weblink - Link
- Support contact – tech@adeneo-embedded.com
- Sales contact – sales@adeneo-embedded.com
GENERAL[edit]
Availability of TI offered BSPs[edit]
- Download TI WinCE BSPs from here
- WinCE-TIBSP_Handbook Starting point for information about WinCE BSPs offered by TI
- WinCE-TIBSP_FAQ Frequently Asked Questions
Availability of other BSPs[edit]
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[edit]
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[edit]
- 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[edit]
How to speed up compilations[edit]
- 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[edit]
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[edit]
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[edit]
C/C++[edit]
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[edit]
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[edit]
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[edit]
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[edit]
BOOT[edit]
Flashing the EBOOT bootloader[edit]
Use EVMFlash tool and change SW4 DIP switch settings to select:
Either flash over SERIAL option:[edit]
Select UART as the 1st boot device and ONENAND or NAND as the 2nd boot device, change SW4 to:
- For Samsung OneNAND flash mounted board:
position 1=ON, 2=OFF, 3=OFF, 4=ON, 5=OFF, 6=OFF, 7=OFF, 8=OFF
- 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:[edit]
Select USB as the 1st boot device and ONENAND or NAND as the 2nd boot device, change SW4 to:
- For Samsung OneNAND flash mounted board:
position 1=ON, 2=ON, 3=OFF, 4=ON, 5=ON, 6=OFF, 7=OFF, 8=OFF
- 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[edit]
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[edit]
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[edit]
- Format the SD Card under WinXP.
- Make the SD Card bootable using Roadkil's sector editor or another utility by:
- Download the editor: Roadkil Sector Editor
- Open your SD card physical sector
- Write 0x80 (mark MBR as bootable) at offset 0x1BE (1st partition entry of the partition table)
- Save sector
- Exit Sector Editor application
- 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.
- Copy ONLY the MLO file to your SD card so that it gets copied at the start of the memory
- Now, you can also copy both the EBOOTSD.NB0 and the NK.BIN files
- Configure your EVM SW4 switch with position 1-3 ON, 4-5 OFF, 6 ON, 7-8 OFF
- Plug your SD Card into the EVM.
- 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[edit]
USB Host Mode[edit]
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?[edit]
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[edit]
How to reserve memory regions?[edit]
- See MEMORY sections at http://msdn.microsoft.com/en-us/library/aa909412.aspx
- And WinCE Team Blog: http://blogs.gotdotnet.com/ce_base/archive/2006/09/01/Understanding-Memory-Sections-in-config.bib_2C00_-boot.bib_2C00_-and-OEMAddressTable-in-Windows-CE-5.0-and-6.0.aspx
- In %_WINCEROOT%\PLATFORM\TI_EVM_3530\FILES\config.bib file, change the memory configuration as you would like it to be.
DEBUGGING TECHNIQUES[edit]
Remote Control[edit]
What is required to remotely control the WinCE system from a PC:
- Enable "CE Remote Display application" in platform builder
- Build and load new image, start \Windows\Cerdisp.exe on target system - press Start
- Make sure there is an Ethernet connection between WinCE system and PC
- 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[edit]
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[edit]
- I'm connected to Platform Builder via Kitl
- My nk.bin image has been built in retail mode: build environment variable "wincedebug=retail" and,
- 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[edit]
How to play a movie in full screen by default using ceplayer[edit]
Use the keypad "Alt+Enter" key combination or add to your registry settings the following value: <syntaxhighlight lang="reg"> [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CEPlayer] "AlwaysFullSize" = DWORD:0x1 </syntaxhighlight>
How to generate a test file with a specific size[edit]
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