Windows Embedded Compact 2013queentree
- Windows Embedded Compact 2013 Download
- Windows Embedded Compact 7 Download
- Windows Embedded Compact 2013 Queen Tree Service
1 Introduction
Windows Embedded Compact (formerly Windows CE, where CE stands for Compact Edition or Consumer Electronics) is a real-time embedded operating system by Microsoft.Part of the Windows Embedded platform, Windows CE is designed for use with handheld computers or systems with limited memory and resources. NETCF 3.9 advances the Windows Embedded Compact Platform. We are happy to announce that we will be including the.NET Compact Framework 3.9 in Windows Embedded Compact 2013, as part of its upcoming release. We have made major updates in this version of the.NET Compact Framework, which deliver benefits in startup time, application. Windows Embedded Compact (formerly Windows CE, where CE stands for Compact Edition or Consumer Electronics) is a real-time embedded operating system by Microsoft.Part of the Windows Embedded platform, Windows CE is designed for use with handheld computers.
This article discusses the important tips for Compact 2013 BSP porting.
2 Things that are changed in Compact 2013
- Compiler is updated to new version.
- C Runtime library is updated to latest version.
- Assembler uses ARM thumb 2 instruction set.
- Removal of old ARM SOC code in platformcommon.
3 Things that are not changed in Compact 2013
- BSP Structure – Directory structure is same as WEC 7
- Build System – Directory structure of resulting sysgen’ed files is at same location as windows embedded compact 7.
- OAL Interface – Almost all functions/variables in OAL interface are unchanged.
- Kernel Memory and Organization – Same memory mode and multiprocessor support as WEC 7
4 New Features in Compact 2013
In this section let’s see new features which are newly added in Compact 2013
- You can develop applications and OS for compact 2013 using latest visual studio versions 2012 and 2013. Latest visual studio has updated IDE UI and few more additional features.
- ARM compiler is updated to new version and C runtime libraries also updated to the latest version.
- WEC 2013 networking stack performance is improved and network miniport driver performance also improved.
- Compact 2013 catalog items are all aligned properly. Few catalog items are merged together and some new items are all added.
- Some catalog items are removed in compact 2013. Most highlighted feature which is removed are Internet Explorer, Remote desktop protocol (RDP), Active Sync and Windows 95 default shell.
- For Native application development, C runtime library’s like Active Template Library (ATL), Standard Template Library (STL) and Microsoft Foundation Class (MFC) are updated to support latest version.
- For Managed application development, .NET framework is updated to version 3.9 from 3.5.
- Compact 2013 supports only THUMB2 mode instruction set. To generate thumb2 assembly code compiler updated to version C++ and assembler supports new version of ARM Embedded- Application Binary Interface (EABI).
- Compact 2013 has snapshot boot feature. It significantly reduces the time that is required for your device to boot by saving the state of your device to persistent storage and then restoring that state when the device reboots
- It support XAML and Expression blend feature to develop rich UI based application
5 Compact 7 to Compact 2013 Porting
Make sure your target BSP is built successfully without any errors in WEC7. You have to copy your target BSP from WINCE700Platform<BSP Name> folder to WINCE800Platform<BSP Name> location.
The following sections explains what should be taken care while porting Compact 2013 BSP from Compact 7 BSP.
5.1 C Runtime Libraries
The first step in porting WEC7 BSP to WEC2013, need do following changes in WEC2013 BSP.
- h renamed to CeTypes.h – simple approach to address this changes is to create Types.h file under {bsp}SRCINC and include the CeTypes.h in that file.
- lib renamed to bootcrt.lib – Have to use new lib name in boot loader and OALEXE sources file.
- lib splits into two lib’s “coredll.lib” and “msvcrt.lib”.It now contains the C runtime API’s
Standard library functions are now updated to secure function – It means function argument require size field for destination buffers.
5.2 ARM Data Alignment
In WEC 2013 ARM code, we may encounter data alignment error (i.e. alignment fault error).The ARM compiler assumes unaligned access handled in hardware but this is not the case for uncached memory access.
Alignment error will not encounter generally because /QRunaligned -flag is set when compile OS and it will generate code for accessing unaligned memory. The memcpy and memory handle unaligned access.
Example for alignment error: CPU generates data alignment fault for the below give code even when unaligned access enabled.
To avoid data alignment fault, developer should take care of alignment of structure when writing code.
Unaligned access in Boot loader:
o If MMU is not activated, all the memory access is treated as uncached.
o In Boot loader code MMU is not enabled and kernel is not used. Unaligned data access should be taken care by developer. Otherwise often will face data alignment fault exception
o Need to enable unaligned support in boot loader startup code to avoid data fault error.
o Enable unaligned support
Clearing A bit, bit 1 of CP15 register 1.
Setting U bit, bit 22 of CP15 register 1
Always verify alignment when accessing memory typically face a problem when accessing unaligned structure passed from hardware.
5.3 ARM Stack Alignment
When working on assembly code in WEC2013 you should keep in mind about stack alignment and keep the stack aligned as four byte boundary or eight byte boundary.
Macros such as LEAF_ENTRY and LEAF_END must be matched but many arm assembly files have LEAF_ENTRY and ENTRY_END macros on assembler function.
Difference between LEAF_ and NESTED_ macros
o LEAF_ macros are used for routines that don’t call other routines
o NESTED_ macros are used for routines that call other routines
Use PROLOG_STACK_ALLOC for allocating space on stack and use PROLOG_PUSH and EPILOG_POP to save and restore registers as show in below example.
To know more details about the macro’s definition’s refer the link
In all the assembly files (.s) of WEC2013, you have to change ENTRY_END macro as LEAF_END macro.
Figure 1. Macro example
Need to add RODATAAREA macro in the OAL startup code located at SRCOALOALLIB folder.
Figure 2. RODATAAREA macro example
5.4 ARM Thumb2 Code Changes
o Compact 2013 support only ARMV7 THUMB2 mode.
o Thumb2 mode does not support reset and exception handler.
o CPU must be in THUMB2 mode before running any WEC 2013 code.
o ARM assembly code and THUMB2 assembly code should be in separate ASM files.
For more details about ARM Thumb2 porting considerations, Please see the below article.
PC arithmetic operation are not supported in THUMB2 mode instructions. So assembler will through an error “pre UAL syntax not allowed” frequently. Need to change few instruction to THUMB2 UAL syntax. Please see the below blog posts for more details.
5.5 Fixing Start Up code of Initial Boot loaders
There are some size constrained binaries specifically pre boot loaders such as XLDR/IPL are loaded by processor boot ROM from NAND/SD card to a small size SRAM and this will load the Eboot to DDR and jump to Eboot. Entry point of the boot loader is expected to be the very first instruction for some processor or a set of predefined data that can be understandable by the boot rom of the processor is expected to be at very beginning of the boot loader. Normally STARTUPTEXT Macro is used to place the required code in the very beginning in Windows CE but there are some changes in this macro on WEC2013 due to these there are some changes has to be done in our code to keep the required instruction/data to be in the first location of the binary. Please see the below blogs for more details.
Windows Embedded Compact 2013 – Understanding STARTUPTEXT macro – Part 1
Windows Embedded Compact 2013 – Understanding STARTUPTEXT macro – Part 2
5.6 Replace DLLENTRY MACRO as DLLMAIN
In WEC2013, DLLENTRY macro is renamed as DLLMAIN. So change the DLL entry point in driver as DLL main and in .def file DllEntry import/export as DllMain.
For example, the following change is required in sources file of drivers.
DLLENTRY=_DllMainCRTStartUp
Co-author: Suresh Madhu, Microsoft Certified Technology Specialist
Windows CE Software Development Kit (SDK)
Prior to starting Windows CE development for the Colibri module, we recommend you install the Colibri Software Development Kit (SDK). This will enable you to take advantage of some of the Toradex specific enhancements.
Software Development Kits for all supported versions of Windows CE/Embedded Compact can be downloaded using the following links:
Installation of Toradex SDKs for Visual Studio
Please follow the step by step documentation below to install the Toradex SDKs. The documentation has been tested on Windows 7 (32 and 64 bit) with Visual Studio 2008.
Install Windows CE 5.0 SDK
- Make sure VS2008 is up to date and close it before starting the installation.
- Download the Toradex Windows CE 5.0 SDK.
- Run the command prompt as administrator (Right-click ->Run as administrator).
- Browse to the folder you downloaded the SDK and run installation by typing:
- Select Custom Installation.
- We only need the ARM4I platform. So extend Embedded Visual C++ and set all platforms to Entire feature will be unavailable except the ARMV4I platform.
- Finish the installation process.
Install Windows CE 6.0 SDK
- Make sure VS2008 is up to date and close it before starting the installation.
- Download the Toradex Windows CE 6.0 SDK.
- Start the installation process.
- Finish Installation Process.
Install Windows Embedded Compact 7 SDK
- Install Windows Embedded Compact 7 specific updates for VS2008: [1], [2]
- Close VS2008 before start the installation.
- Download the Toradex Windows Embedded Compact 7 SDK.
- Run the installation process.
Install Windows Embedded Compact 2013 SDK
- Install Visual Studio 2012 or 2013 and make sure you have Application Builder for Windows Embedded Compact 2013 installed. You can get it here.
- Download the Toradex Windows Embedded Compact 2013 SDK.
- Run the installation process.
Updating from older SDKs
Windows Embedded Compact 2013 Download
Older SDKs did not have unified names. With the following SDK version the new naming convention has been applied:
- CE 5 SDK 6.0
- CE 6 SDK 2.0
- CE 7 SDK 2.0
- CE 8 SDK 2.0
In case you want to migrate your project to one of the new SDKs, some renaming in the *.sln and *.vcproj files has to be done. Toradex provides a command line tool that does this job for you. Run the tool and provide the path to one of your projects as a parameter. You get the tool from here.
Installation issues
SDK not shown in Visual Studio
Some customers reported, that their SDK was not shown in Visual Studio after finalizing the installation process. Installing the SDK using user Administrator by command line as described for CE 5 SDK solved this issue. Try to uninstall the SDK and install it again by doing the following steps in such a case:
PNY 2 Years Warranty Specifications GPU: GeForce® 8400 GS DMS CUDA Cores: motherboard with one x16 8 Core Speed: 520 MHz Shader Speed: 1230 MHz Memory Size: 1024 MB DDR3 Mem. Interface: 64 bit 2GB system memory (4GB or Mem. Frequency: 800 MHz effective Mem. Bandwidth: 6.4 GB/s TDP: 18W Fanless SLI: No Multi-Screen: 2 Concurrent Screens. Download drivers for nVidia GeForce 8400GS video cards (Windows 7 x64), or install DriverPack Solution software for automatic driver download and update. Are you tired of looking for the drivers for your devices? DriverPack Online will find and install the drivers you need automatically. Download drivers for NVIDIA products including GeForce graphics cards, nForce motherboards, Quadro workstations, and more. Update your graphics card drivers today. GeForce 8600 GS, GeForce 8500 GT, GeForce 8400 GS, GeForce 8400 SE, GeForce 8400, GeForce 8300 GS, GeForce 8300, GeForce 8200, GeForce 8200 /nForce 730a, GeForce 8100 /nForce.
- Run the command prompt as administrator (Right-click ->Run as administrator).
- Browse to the folder you downloaded the SDK and run installation by typing:
Windows CE 5.0 SDK on Windows 10
When installing on Windows 10 we noticed that some users have issues with SDK not showing inside Visual Studio.To fix this issue please check that files are located in installation directory usually: C:Program Files (x86)Windows CE Toolswce500Toradex_CE500
Then locate file WCE.VCPlatform.config
and add this entry.
If the installation path of your SDK is different. Also, change your path inside the pasted code.
Webinar On-Demand: Windows Embedded Compact advantage with Toradex COMs powered by Freescale i.MX 6
Application Development with Windows CE
Note: Microsoft moved most of the Windows CE documentation to https://docs.microsoft.com/en-us/previous-versions/windows/embedded/gg154201(v=winembedded.80), and it is not indexed by Google.
Application development for Windows CE is a straight forward affair. The development tools are the same tools you would use to develop a application for a PC running a desktop version of Windows. However, instead of running and debugging the code directly on the development PC, the application is deployed directly to the Toradex module (aka the 'target'). The connection to the target is typically via USB or Ethernet.
It is even possible to develop applications which run both on an x86 development PC and the Toradex module if your application is written in managed code to run under the .NET Compact Framework.
Windows Embedded Compact 2013
WEC2013 requires Visual Studio 2012 or Visual Studio 2013.The Community Edition of Visual Studio will work too. The Community Edition is free in many cases (see terms for details).
Application debugging is done via an Ethernet connection.
WEC2013 is not available for the Colibri PXA line or for the Colibri T20 (Nvidia Tegra 2).
Windows Embedded Compact 7 and Windows CE 6
WEC7 and WinCE 6 require Visual Studio 2008 or Visual Studio 2005.Application debugging is done via USB client (Windows Mobile Device Center) or Ethernet.You will require at least the Professional Version or higher.
Make sure you install all the patches listed in this Article
Learn more in How to Setup the development Environment for VS2008.
It can be tricky to find & purchase an older version of Visual Studio; see our guide for recommendations: How To Purchase Visual Studio.
Toradex provides free samples and libraries to get you started.
Very popular are Windows Forms, Silverligth/XAML in .Net CF or the Qt Framework. You find more information in the Graphical User Interface Article.
Windows Embedded Compact 7 Download
Knowledge Base
Windows Embedded Compact 2013 Queen Tree Service
For further information, please search our knowledge base.