Booting multiple firmware on SD card
Started by Frank26080115, Jan 05 2011 03:20 AM
2 replies to this topic
#1
Posted 05 January 2011 - 03:20 AM
I'm currently coding an platform independent part of what I want to get running on an Netduino Plus. It is becoming very complicated and still not 1/4 done yet. I've never used .Net uFramework before so I can't accurately gauge how big the final firmware will be, and how expandable it will be.
I know the Netduino uses an AT91SAM7X512, but if you take a look at http://www.sparkfun.com/products/8603 , it supports booting off a SD card. It uses the LPC2148 which is very similar to the AT91SAM7X512 in terms of memory.
If it was possible to write a bootloader to load a binary image from an SD card, then I think it will be a great idea if the binary image was built with the HAL, PAL, CLR code combined with the compiled C# .NET assembly (placed in flash where it would have as if it was loaded normally).
Or maybe I'm approaching this problem wrong, and I need to add this code into the .NET code itself? This might constrain the flash memory more and is might be less elegant if not done right (repeated SD card + FAT file system code)
Is this possible? Is there some flaw in my logic? I'm not sure if I understand how bootloaders on the AT91SAM7 works (AVRs have a dedicated boot sector, but AVRs only execute code from flash instead of RAM).
My project involves a matrix keypad, if this was possible, I would have the bootloader select the binary to boot based on the key held down upon power-up. This will allow me to abuse the awesomeness of C# without optimizing like a madman and still accomplish all my project goals since memory won't be as much of an issue.
#2
Posted 05 January 2011 - 03:23 AM
Hi Frank,
.NET MF needs to run out of flash ("execute in place").
If you're building a huge project that needs more Flash or RAM than Netduino can provide, I'd look into one of the high-end boards like the Device Solutions Tahoe boards. You can do a lot on a Netudino Plus, but there are high-end options available. Please note that these other solutions are not necessarily open source.
Regarding buying a Netduino Plus, what country are you in?
Chris
#3
Posted 05 January 2011 - 04:24 AM
Hi Frank,
.NET MF needs to run out of flash ("execute in place").
If you're building a huge project that needs more Flash or RAM than Netduino can provide, I'd look into one of the high-end boards like the Device Solutions Tahoe boards. You can do a lot on a Netudino Plus, but there are high-end options available. Please note that these other solutions are not necessarily open source.
Regarding buying a Netduino Plus, what country are you in?
Chris
If I find out that my project isn't going to fit, I'll just switch to using C++, my PCB has JTAG, so the only benefit of .NET is that I love C# + Visual Studio + managed memory (it's a calculator, a math expression gets parsed into a tree structure with value nodes that require 4 double precision floating points per node, a missing "delete" or missing deconstructor would suck), but I'm probably not going to bother upgrading the AT91SAM7X512 in my design. If I switch to using straight-up GNU C++, I probably would not need nearly as much memory. C++ & JTAG & Eclipse is still good.
I have a shopping cart with 58 items in at SparkFun, I'm waiting for them to stock it for shipping reasons (big order = justification to pay for FedEx instead of USPS). I have my PCB laid out already but I need some of those parts to verify all the footprints before I get them made.
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users