Productivity Enhancements
Debugging
Easy debugging from within Visual Studio over USB or serial. Set breakpoints, step through code, and examine variables without the need for specialized hardware or software.
Memory Management
Automatic garbage collection makes memory management a thing of the past. Garbage collection also reduces or eliminates some types of bugs, further improving overall device security.
Unmanaged Heap
A large amount of memory available on boards with external SDRAM, like our SM20260D Dev Board. This memory is used by the TinyCLR OS graphics system, and can also be used for your own unmanaged buffers without sacrificing the processor’s internal memory.
NuGet Based Libraries
All libraries are hosted in the cloud using the industry standard NuGet format. Not only is it easy to install and upgrade libraries, it is also easy to create and publish libraries of your own.
Mass Production Tools
TinyCLR Config tools speeds up the programming of your devices prior to sale. Optimized for both large and small production runs, and capable of automatically setting the desired read protection of your code.
Device Info
Dynamically configure your system through these services that acquire information from the device, such as Unique ID, debug interface, hardware type and version.
Modern OS Features
Multithreading
TinyCLR OS supports multiple concurrent threads, and includes modern .NET features supporting thread synchronization.
Collections
Collections in TinyCLR OS provide a flexible way to work with groups of objects. Unlike arrays, the group of objects you work with can grow and shrink dynamically as the needs of the application change.
Serialization
Like .NET, TinyCLR OS provides methods of serializing and deserializing data without the need for writing low-level code. We now support not only binary serialization, but .JSON and .XML as well!
Encoding & Decoding
TinyCLR OS provides robust methods for encoding and decoding strings quickly and efficiently, including the ability to handle an entire string at one time.
Application Domain
Want to dynamically load code at runtime? Our support of Application Domain allows you to load assemblies from any FileStream including USB flash drives and SD cards!
Marshal
Marshal is a static class that provides two functions ReadInt32
to read, and WriteInt32
to write and modify some special peripheral’s registers.
Regex
The RegEx class can be used to quickly parse large amounts of text to find specific character patterns; to extract, edit, replace, or delete text substrings.