Windows Embedded Compact 7 Key

Posted on by

1 Introduction

This article discusses the important tips for Compact 2013 BSP porting.

XP Embedded, Windows Embedded Standard 2009, 7, and Windows Embedded 8 Standard. Windows Embedded POS Ready 2009, 7, Windows Embedded 8/8.1 Industry Pro for Retail, and Win10 IoT Enterprise LTSB for Retail. Windows CE4.2, 5.0, 6.0, and Windows Embedded Compact 7 and 2013. Board Support Packages (BSP) Services. We work with silicon and component. Part 1: Windows Embedded Compact Migration and End-of-Life Windows Embedded Compact 6.0 has been available since 2006 and Windows Embedded Compact 7.0 dates back to 2011. For device manufacturers and software developers, there are several important dates in the platforms’ product lifecycles, especially when ‘mainstream’ and ‘extended.

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 functionIt 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. /bimmerguru-download-mercedes.html.

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.

Windows Embedded Compact 7 Serial Key

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

Embedded OEM Customer (OEM) contacts Elbacom as a Microsoft Authorized Embedded Distributor.

OEM obtains a free evaluation software or purchases a full version toolkit from Elbacom.

Evaluation version are fully functional and work for up to 180 days.
Note: Configurations created with evaluation version of toolkits (Target Designer, Platform Builder,
Image Configuration Editor) can be used in the full version without any change.

Elbacom initiates the digital Embedded OEM Customer License Agreement (OEM
CLA) which enables the OEM to buy licenses and retrieve OEM Pre-Installation Kits (OPKs).
Elbacom provides Additional Licensing Provisions (ALPs) for the chosen embedded product.

Embedded OEM Customer (OEM) fill out the CLA online. Elbacom and Microsoft check the data and approve the CLA.
The OEM will receive the digital CLA contract. After the OEM signs it, Microsoft will counter sign it.
The customer can now order licenses and OPKs.

Windows

Elbacom provides Embedded OEM Customer (OEM) licenses, OPKs, toolkits.

Embedded OEM Customer (OEM) starts shipping devices.

  • Customer License Agreement (CLA)
    The CLA defines the standard licensing terms which enable the Embedded OEM to buy Embedded licenses and receive OEM Pre-Installation Kits.
    A Customer License Agreement is valid for 5 years. A customer must have a valid CLA in order to get licences or OEM Pre-Installation Kits.
    More information about the CLA is available here.
  • Additional Terms (AT)
    The ATs define distribution rights and restrictions specific to each Microsoft Product. The Additional Terms are available on MyOEM.
  • OEM Pre-Installation Kit (OPK)
    OPKs include components such as preinstall tools, product bits, pre-installation manual, and a Product Key. On OPK provides all the tools (e.g. Setup-DVD) which are necessary to install the embedded operating system.
  • Certificate Of Authenticity (COA)
    A COA is a product specific license sticker which must be attached to a embedded device prior device distribution. Each COA represents a license to distribute a single Embedded System with MS Products installed. A COA is required for each Embedded System that the OEM Customer distributes.

You will receive the Certificates of Authenticity (COA) in an envelope. The COAs are located on a strip where they can be easily removed to affix them on the devices.

There are different types of COAs available. Normally Windows Embedded Standard and Windows Embedded Compact use the Thumbnail COA which is displayed below. Windows Embedded Enterprise and Windows Embedded Server use the regular size COAs.

Thumbnail Certificate of Authenticity Description

  1. 2D Barcode – contains the replicators internal ID for the COA which is also written in a readable format right below the code. This label must not be affixed to the device.
  2. Product Title (Not the full license name. Some products have the same COA)
  3. Serial Number of the COA (you can identify the COAs based on the serial number range on the envelope)
  4. Microsoft Part Number
  5. Full Product Name (only visible on the envelope)

New Astro COA:

Envelope

Embedded

Dimensions of the Thumbnail Certificate of Authenticity

On 12 February 2020 all ARs will start printing COA using the new Conifer COA design. However, ARs will be permitted to ship any existing stocks of the Atomic COA design until such stocks are exhausted.

COA End Item Part Numbers which OEM Partners use to order COA from ARs will not be changing

For any additional information on the Conifer COA Refresh please contact your Authorized Replicator.

FAQ

1. Which COAs are involved in this transition?
Active standard PC COA, Piggyback PC COA and ODR COA will transition to the new Conifer COA design on 12 February 2020. This will impact all Channels that use these COA:

    • Windows Client
    • Office
    • ODR
    • Server
    • Embedded

2. What is the timeline for transition?

COAs will transition to the new Conifer design on 12 February 2020. From this date, ARs will only be able to print COA using the new Conifer design. However, ARs will be permitted to ship any existing stocks of the Atomic COA design until such stocks are exhausted.

DateAction
Prior to 12 February 2020ARs will print COA using the existing Atomic COA design
12 February 2020 onwardsARs will print COA using the new Conifer COA design.

ARs can continue to ship any existing stocks of Atomic COA that have been printed to inventory until such stock is used to exhaustion.

Prior to 12 February 2020
ActionARs will print COA using the existing Atomic COA design
12 February 2020 onwards
ActionARs will print COA using the new Conifer COA design.

ARs can continue to ship any existing stocks of Atomic COA that have been printed to inventory until such stock is used to exhaustion.

.

3. Will the part numbers change?
The COA End Item part numbers that OEM Partners use to order COA from ARs will not change. The BLS part numbers that ARs use to order COA from the Secure Print Vendor will be changing however this will not impact OEM Partners.

Previous Atomic COA New Conifer COA

All CE and Compact Product have an identical Sticker. In our example, a customer buys two different CE products.
This are the products:

Windows Embedded Compact 7 Product Key Crack

  • Windows CE Core 5.0 EMD ESD OEI Core Runtime
  • Windows CE 6.0 EMD ESD OEI Pro Runtime

But how can you differ the products? First, please look on the printed information on the envelope. You can find there the range of the serial number (First POA & Last POA). This serial number is also listed on the sticker. Aligned to this serial number you can identify now which sticker belongs to which license.

Windows Embedded Compact 7 Keyence

This example would be also possible with POSReady 2009 and POSReady 7.

Windows XP Embedded and Windows Embedded Standard 2009 contain a Product Key card that contains the key to be used to activate the embedded image.

Windows Embedded Compact 7 Trial Key

These cards look similar to the one shown below:

Please Note: Product Keys for Windows Embedded 7 or later are no longer shipped with the runtime license envelopes. To request your product key please follow the steps at Product Key Information.

EPKEA: You will get a Master Product Key for your Image. You can activate this Product Key for 50.000 times.

PKEA: You will get a different Product Key for every single device.

Please Note: EPKEA Product Keys for the this product are no longer shipped with the runtime license envelopes. To request your product key please follow the steps at Product Key Information.

PKEA Product Keys will be written on the COAs. (License Stickers)

Sample Picture: