Wednesday, January 20, 2016

C Runtime for ARM missing in WEC2013 Wave2 update

Hi Folks

You probably haven't notice the fact that C Runtime for ARM is missing in the Windows Embedded Compact Wave 2 Update (September 2015) but after installing Wave2 and then rebuilding your ARM-based OSDesign project you may get a build failure early in the build process where the build tool complains about unresolved entry points and finally a missing MSVCR110.DLL.
This DLL and its debug version are located in \WINCE800\PUBLIC\COMMON\SDK\CRT\BIN\ARM. Inspecting that folder you can see that rel, map and pdb files are there but not the DLL.
Due to a known bug in the installer it removes these files during the Wave2 upgrade, but then doesn’t install the newer version. The x86 tree is not affected by this.
You may not see this issue immediately if your OSDesign does not include the C Runtime from the catalog. In this case you may experience the issue when you create a new SDK for your project and Application Builder fails.

Solution
Microsoft will fix this issue with one of the upcoming monthly updates in February/March 2016.
In the meantime, the following workaround helps to repair the Compact 2013 installation:

  • Verify Visual Studio is up-to-date
  • Open Control Panel\Programs\Programs and Features
  • Select the entry Application Builder for Windows Embedded Compact 2013
  • Click the Change button at the top of the list window, then select Repair from the Visual Studio installer
  • Go back to the Control Panel and select the entry Windows Embedded Compact 2013 Update Xx
  • Click the Change button again to invoke the Platform Builder Installer.
  • Select Repair from the options, click Next, check all items, click Next, and then Repair.
  • Try and rebuild your OSDesign and SDK

Enjoy !

-Nicolas

Thursday, January 14, 2016

Pushing Telemetry data to Azure IoT Suite from Windows 10 IoT Core

Hi Folks,

Microsoft is providing an Open Source SDK to address the Azure IoT Hub and Suite, that is compatible Linux, Windows and OSLess systems for various languages such as C, C#,...
The repository is accessible on GitHub : https://github.com/Azure/azure-iot-sdks/

Using this SDK to push data to the Azure IoT Suite default Solution from a Windows 10 IoT Core Universal Application, is not straight forward, as there is no C# version of the remote-monitoring application.

Using Azure IoT Suite from Linux (Ubuntu 14.04)

Hi Folks,

Microsoft is providing an Open Source SDK to address the Azure IoT Hub and Suite, that is compatible Linux, Windows and OSLess systems for various languages such as C, C#,...
The repository is accessible on GitHub : https://github.com/Azure/azure-iot-sdks/

When using this repository and projects there are few pre-requisites, and the details below are for an Ubuntu 14.04 system.

Tuesday, December 8, 2015

Windows 10 IoT Core vs Windows 10 IoT Core Pro

Hi,

For Windows 10 IoT Core, the licensing model is different between the Basic version and the Pro version.

Windows 10 IoT Core
If being connected to internet and receiving the latest updates is part of your device scenario then you can sign up through the Windows 10 IoT Core Commercialization process, all you need is a Microsoft account (formally Windows Live ID). This Windows 10 IoT Core product is well suited for early adopter businesses looking to create and commercialize their innovative devices.
If you are already a licensed partner with Microsoft or indirectly through an authorized Microsoft distributor, you do not need to go through this commercialization process. Contact your Microsoft representative or distributor for more information.

Windows 10 IoT Core Pro
If you want control with fewer upgrades, the flexibility to stage and deploy updates when you want, or even the ability to turn off auto-updates then Windows 10 IoT Core Pro is what you need. Contact your Microsoft representative or find a distributor to learn more about licensing Windows 10 IoT Core Pro.

More details : https://www.windowsforiotdevices.com/

- Nicolas

Windows 10 IoT Core RTM

Hi,

If you are a maker or an industrial, and looking for a modern operating system to drive your product then you should be happy to test and use Windows 10 IoT Core, the lowest foot print and memory usage flavor of Windows 10 from Microsoft.

Friday, September 25, 2015

Manage BSP build dependencies under Windows Embedded Compact 2013

Hi Folks,

The Build process of the Windows Embedded Compact 2013 source code is a complex process that is usually divided within different build steps.


Usually the pre-sysgen and sysgen steps are automated and part of what Microsoft provided within the installation package. So lets focus on the the Build step, the one that builds the source code of your BSP.

  • The build tool is used to compile source code and link binary modules using the build environment created during the Sysgen phase.
  • The build tool navigates inside the a directory tree to find directories containing source code.
  • It then invokes the nmake tool to perform the actual build.
  • The build tool is configured using the dirs configuration file
The DIRS files are the only way for the build engine to get through the folders to be proceed, and is a text file that should be present in any folder that contains sub-folders involved in the build process.
Folders listed in the DIRS files are proceed in the description order, this allows you to select the build order of subfolder, and therefore five you the chance to manage components dependencies.


There si a drawback when compiling source code that is split into libraries, all over the BSP subfolders. In that case due to the large amount of binaries that compose a BSP and drviers, it is not possible to do so, and an alternative solution is required at the build directive level.

Located within you source files folder, of the BSP components, the SOURCES and MAKEFILE.DEF contains the build directives, and in Windows Embedded Compact 2013, it has been introduce the module depency directives that allows build engine to postpone the build of sources files if dependency is not satisfied.

The  LINK_PRODUCES and LINK_CONSUMES directives can be used to mange those dependencies. The generated libraries are using the LINK_PRODUCES to define a library name and the sources that requires the generated library specify this requirement using the LINK_CONSUMES directive.

Library producer SOURCES sample
TARGETNAME=cspddk
TARGETTYPE=DYNLINK
RELEASETYPE=PLATFORM

LINK_PRODUCES=cspddk

Library consumer SOURCES sample
TARGETNAME=hcd
TARGETTYPE=DYNLINK

LINK_CONSUMES=cspddk
Now the hcd library, will requires the cspddk library to be built first.

Enjoy!
-Nicolas

Tuesday, September 22, 2015

Windows Embedded Compact QFEs for August 2015 have arrived!

Hi all,

the August updates for Windows Embedded Compact are available for download:


Update 22 (August 2015)


Component: CoreOS
150827_KB3091199  -  List selection changes after you quickly scroll up and down on a Windows Embedded Compact 2013 device.

Component: Internet Explorer
150831_KB3091190  -  An update rollup is available that includes several cumulative security updates for Internet Explorer for Windows Embedded Compact 2013.
150831_KB3091200  -  An exception occurs in Wininet.dll after the HttpRequestEnd() function is called on a device that is running Windows Embedded Compact 2013.       

Component: Platform
150827_KB3089335  - Kernel crashes after you add OAL code to a project and enable symmetric multiprocessing in Windows Embedded Compact 2013.

Component: SDK
150821_KB3090075  -  "Error MSB6006: "CL.exe" exited with code -1073741515" error when you build a basic application by using the ARM SDK for a Windows Embedded Compact 2013 device.

Component: Shell
150831_KB3091191  -  List entries disappear from the DateTimePicker control in an application that is running in Windows Embedded Compact 2013.

Component: Silverlight
150831_KB3089833  -  Windows Media Player stops responding when you play a .wma file on a Windows Embedded Compact 2013 device.

Component: Tools
150831_KB3088374  -  Makeimg crashes when an application is built with AppBuilder in Windows Embedded Compact 2013.
Component: Networking
150831_KB3089834  -  A handle leak occurs when a USB communication device is plugged in and removed two times on a device that is running Windows Embedded Compact 2013.
150831_KB3091201  -  The IP stack and functionality are deadlocked when you try to make a Profile Configuration File connection on Windows Embedded Compact 2013.

Update 50 (August 2015)

Fixes made in this update:

Known Issues in this update:

The Compact Test Kit (CTK) checkbox is disabled in the  "Repair Installation" of Windows Embedded Compact 7 there by not allowing to uncheck the CTK repair.

Component: Browser
150828_KB3091176 -  An update rollup is available that includes several cumulative security updates for Internet Explorer for Windows Embedded Compact 7.

Component: DSHOW
150831_KB3092496 -  In repeat mode, music player stops playing wave file after some time on a device that is running Windows Embedded 7.

Component: Security
150821_KB3087205 - An exception occurs when you build the NK.BIN file and then start SSL communications on a device that is running Windows Embedded Compact 7.

Component: USB
150821_KB3088663 - A Windows Embedded Compact 7 device stops responding when you remove and re-insert a USB hub quickly.


Fixes made in this update:

By Component:

Component:  CoreOS
150831_KB3090818 - Vulnerability in Unicode Scripts Processor could allow remote code execution.

Component:  IE
150831_KB3087217 - Memory leak when you use the WinINet API to send HTTPS requests to a server in Windows Embedded CE 6.0.
150831_KB3090744 - An update rollup is available that includes several cumulative security updates for Internet Explorer for Windows Embedded CE 6.0.

REMEMBER: It’s important to keep your system up to date!


Have fun!