Wednesday, January 27, 2016

Windows 10 IoT Core Image Creation

Hi Folks,

Microsoft IoT Team has published an article describing the steps to customize the content of a Windows 10 IoT Core runtime image.

Check out the link : Windows 10 IoT Core Image Creation

-Nicolas

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