Two years ago we announced our plans to build TinyCLR OS, our modern and managed OS for development on tiny IoT and embedded devices. It supports the world-class Microsoft Visual Studio to write, debug, and deploy C# and Visual Basic programs for embedded devices. Today we are proud to deliver the 1.0 release to you for use commercially on all of our System on Modules (SoMs). It is also available to be ported and used on your own system, free of charge. Now that the foundations are in place, we plan to quickly iterate and deliver even more features to make the development of your embedded project even faster and easier. Stay tuned for the first previews.
With today’s announcement, we invite you to take a look under the hood of TinyCLR OS. The TinyCLR OS core is a hardware-independent binary provided for several ARM processors. Through a well-designed interface, the core can be extended with peripheral libraries you need in your system. Our ports repo includes several examples. To build the firmware, we support the free GNU GCC compiler.
Developers using a pre-built firmware will also benefit from the portability of TinyCLR OS. Native interops can be built and dynamically loaded at runtime. This allows a C# application to load and invoke a compiled C++ library. For example, an application that needs fast CRC calculation can implement a native CRC method. This will give the application a boost in speed without the complexity of rebuilding the entire firmware. These native interops can also be provided by a third party. Take a look at this discussion on the power of interops. But what if a native driver needs to access another, like a peripheral driver? This is where things get even better! All native drivers are exposed though a well-defined interface allowing them to interact. A native display driver can use SPI bus directly to quickly refresh the display.
The libraries, extension, and firmwares are all uploaded to their online sources so you can update your firmware using TinyCLR Config, update your packages using the NuGet package manager with the NuGet.org source, and update the VSIX from the extensions area of Visual Studio. To get going, take a look at the Getting Started guide.