Main Site Documentation

Porting TinyCLR to Pocket Beagle


#1

Is it technologically possible to port either TinyCLR or that .Net Standard thingy to the pocket beagle at the kernel level? i.e. so that TinyClr is the only software that is on the device?


#2

Yes but why not just use mono?


#3

It’s just code. Anything is possible. It’s just a matter of whether that’s the most labor efficient thing to do. I’m guessing that that’s way harder than just stripping down the distro to be the kernel, systemd, and your code (written in dotnet or mono), but without knowing the driving reason behind the question, I can’t really comment on the tradeoffs.


#4

@Gus_Issa, That would be the mono that runs on Debian (that I reported to have gotten working some time ago). That’s because I didn’t like how the remote debugging thing worked. I understand how to do it, but that workflow slows me down.

@mcalsyn, Striping Debian down is a viable alternative, however that may require knowledge of C++ and I don’t know if I want to spend the next 3 years becoming proficient in it. And then there is boot time. If it takes more than 10 seconds to load, then that’s too long.

The question was really about if the Arm processor in the device supports the instructions that tinyclr/.netstandard/mono would need to be compilable.


#5

Boot time from emmc flash on a BBB can be 2 seconds or so. This is your easiest path, and on top of it, you’ll get 10x the speed over interpreted CLR (netmf, TinyCLR, meadow) not even considering the overall processor speed differential.

Any device with a C/C++ compiler supports TinyCLR and netmf - but there’s no escaping doing some native coding if you want to port it.

EDIT 1: Stripping down a distro does not require C skills - just uninstalling stuff with apt-get commands.
EDIT 2: I see that the pocket BB does not appear to have the 4Gb EMMC flash - you have to boot from the SD card which is substantially slower. A BBB can boot in two seconds, but a pocket could take six or more seconds with a Class 10 SD card. Less if you strip it down.


#6

How do you even figure these stats out @mcalsyn. Ok so if I have my pcb designer do a design that features an emmc then the startup time could be 2 seconds?! That’s not bad at all.


#7

In this case, personal experience. I have a BBB right in front of me that boots from EMMC. The trick is to create a ‘flasher’ SD card that copies itself to the EMMC, boot once with that, and then make sure there is no bootable media in the SD slot during subsequent boots as the boot loader will give preference to the SD card. With no kernel on the SD card, the device will boot completely from the EMMC which is multiple times faster than the SD interface.