Starting c# program from a SD

I would like to know if it would be possible (to make) a cerb40 that boots from a sd card.
I would like the customer to be able to easily upgrade the software in a cerb40 that is out in the field.
Not necessary the firmware although that would be a bonus.
Sending a sd card with the instruction to change it would mean a big advantage for me.

Search for Pyxis 2. It shous how to load and run application. It also shows how to upgrade eveeything including firmware, but that part uses functionality that is not implemented on cerb40

As far as I know loading assemblies from SD was also not possible on Panda, only bigger devices. Is this the same for the Cerberus?

Website is being updated with some helpful info, take a look here

in-field update is part of SoM offers. Of course, Cerberus is open source so feel free to contribute the update feature.

The STM32F4 Discovery board shows a nice example of how an update could be run from USB stick. Might be a nice starting point.

Edit: check this document

Thanks for the pointers!

I guess what i want has to be build into the bootloader.
I am talking theoretical here because i have no hardware yet.

Is the bootloader also open source?

There is no boot loader! But even if there was one it would be open source. This product si 100% open.

Obviously i still have lots to learn. :slight_smile:
I was reading this:

1 ) TinyBooter
2 ) TinyCLR
3 ) GHI OSH libraries
4 ) Gadgeteer-support (core and FEZ Cerberus’ gadgeteer-drivers and gadgeteer-designer)
5 ) The end user application

Ideally i would like to be able to update 2-5 in the field.
The requirement i have is at least to be able to update 5.
I see that the Tinybooter is not on the Cerberus yet.

Ok, i go read some more. :slight_smile:

That is supported already on other non open devices so you can use those to get an idea on how to do it on Cerberus maybe.

There’s no TinyBooter on Cerberus. It’s open source, however, so you could build it.

I wrote a updater for a few .NET CF devices.

Are we able to reboot the Cerb via any command?
Or do we have to reset it somehow?

Would that be an updater using TCP/IP?