TinyCLR 2.0 Release Candidate

Originally published at: https://www.ghielectronics.com/2020/07/06/tinyclr-2-0-release-candidate/

TinyCLR 2.0 Release Candidate

We are happy to announce that TinyCLR 2.0 Release Candidate is now ready to use. This is one step away from the final production release. All the pieces are in place and the NuGet packages are all available online and accessible from within Visual Studio. Even the TinyCLR OS Visual Studio Extension is also available online within Visual Studio at the Microsoft Marketplace. We are continuing to make everything available on the downloads page, should you need them.

The main changes in this release are XML, CAN FD, HW CAN filterers, XTEA and changing Secure Storage API. The release notes page has the full details.


SITCore Line Product Availabilty 

The entire SITCore product line is in full production. Most boards have passed through the assembly lines and we are now flashing and testing. Expect stock availability sometime this month. Please ignore availability dates you see on distributors’ websites.


Finally… Very exciting and what a great way to start the second half of 2020.

Good. Glad its here, Can’t find the release notes

I moved the links together here, they both work now.

This R.C. is not working for me, using FEZ T18
connection with my board stoped to work when VS updated (automatically) on last friday.
Display an error when uploading to board relatioted with uart.dll

It will unfortunately not work. This is 2.0 and doesn’t support 1.0. we have share news about this multiple times in why we support and only support SITCore today.

It took me ten minutes to migrate a preview 6 project to RC1, including upgrading the firmware.

Can you do anything to reduce the burden of going between release? :slight_smile:

1 Like

we need your help on timer or probally CAN FD :)).

How about we include a dancing robot video to entertain you for 10 minutes while waiting?


Hi, I am new to TinyCLR.
I have the following basic q’s. (Sorry I am sure this has been asked previously):

  • Is TinyCLR code base closer to the old .netfx or newer dotnetcore?
  • Does it run on os like freertos or run directly on the hw?
  • What is the memory footprint of the runtime?
  • Where can I find docs on its base library?

thanks much!

welcome ahalim.

TinyCLR OS is it’s own product that runs on hardware. There is no other OS layer (there is however a bootloader). Your question about memory isn’t really relevant.

https://docs.ghielectronics.com/ is the GHI document repository. That has a great bunch of info that will help you get started.

@Brett Thanks for the reply. I did look into the doc link you mentioned. I did not see any online doc for the base library of tinyclr though. I need this to get a good idea what api/functionalities are supported by tinyclr.


use the examples for the best view, otherwise dig into github https://github.com/ghi-electronics/TinyCLR-Libraries

1 Like

The timer is correct ie 60000 -> 1 minute. Everything seems to be a lot faster. There was that issue of unexplained slow downs (apparently dependent on the phase of the moon). That seems to be fixed. CAN is working good, but not using FD. The UART’s needed adjusting for the new calls.

Now on to SecureStorage.
It appears that secure storage needs to be ‘initialized’: erased one time. After that is done, the storage area can be written and read in 32 byte blocks. And apparently, I do not need to erase a block before writing. Is all of this correct ?

Yes, I believe there will be an exception if you write to block that is not empty. In that case, you still need call Erase.

The Erase call erases the entire storage area, all 128K

That correct. You may want to allocate this size, do the change in memory and write them all to the storage.

I believe this erase behavior has no change.

The change just Read/Write any address / size (multi of 32) to block and 32 byte length fixed.

the write call -> write(block index, byte array) allows a write to only one block. Is there a write call to write multiple blocks ?

Yes, you can write multiple blocks, of course!

It will write the size of the byte array:

        byte[] working = new byte[64];
        byte[] str = Encoding.UTF8.GetBytes("1234554321");
        Array.Copy(str, working, str.Length);
        Write((unit)10, working);

This will write 64 bytes ( 2 blocks) starting at block 10
Is this correct ?