TINYCLR-FAQ

I am a PC/mobile developer. How do I start with hardware?

Chances are you already use Microsoft’s Visual Studio or have in the past. This means you already know how to program, and the learning curve to program SITCore devices will be small. If you know C#, you already know how to code any SITCore device. The SITCore Experimenter Kit is the ideal place to get started.

Read More

I use C++, why use TinyCLR OS instead?

C and C++ languages are the “go to” languages when it comes to microcontrollers. In fact, SITCore’s TinyCLR OS is built using C and C++. Coding in C and C++ is very powerful, but the problem is that the code is non-portable between systems, there is no run-time error checking, and the tools for compiling and debugging on a commercial level are very costly. C# uses the a similar C syntax and TinyCLR OS includes many libraries, simplifying the developers’…

Read More

I have board xxx, why use SITCore instead?

There are typically two options for embedded systems. The first is an easy maker-level option, which is probably the easiest way to blink an LED, but the challenges start when the code grows large and debugging becomes necessary. The second option is through using commercial tools, which cost thousands of dollars and require specialized skillsets. Thankfully, there is now SITCore as a third option, running TinyCLR OS! The intuitive and high level .NET C# is easier to learn, plus code…

Read More

Is TinyCLR OS real-time?

TinyCLR OS is not designed to be a real-time operating system. Actually, it promotes the idea of using threads and events to handle tasks. However, since the system is only running your application, there is a level of timing that can be achieved with proper planning.

Read More

Is the managed code compiled? Is it slow?

The managed C# code is compiled to CIL (Common Intermediate Language). On larger systems, the compiled CIL instructions are then compiled to machine code. TinyCLR OS interprets the CIL instructions on the hardware. It is important to remember that while the interpreted code runs slower, the majority of TinyCLR OS is not interpreted. For example, when executing a line to write a string to a file, a few CIL instructions will be executed to pass that string to native file…

Read More

What do you mean by managed code?

A modern programming language such as C# is managed, meaning there is a system in the back-end to help in managing resources. For example, objects are automatically created when needed and then disposed once no longer in use. The managed system also checks for proper boundaries when using arrays. Memory leaks and attempted access of out of boundary arrays are typically not a concern in a managed system.

Read More
Newsletter

Your e-mail address is only used to send our monthly newsletter and important product updates. You can always unsubscribe.

Get Social