An alternative to SAM-BA that is open source python code located here:
Sam_I_Am
This can work with the same sam-ba.ko driver.
In order to use it to burn the Netduino, add the following line to the device table in flash.py:
# AT91SAM7X512 ('512K', '128K'): ("AT91SAM7X512", 64, 256),
To get the GPNVM boot bit re-set after erase/program, the flashif.py needs tweaked. Add something like this to flashif.c, rebuild it, and include the hex data in flashif.py. Call this in the Exit case (after programming).
static void doRemap(void) { (void) waitForFRDY(); *MC_FCR = 0x0b | (2 << 8) | 0x5A000000U; (void) waitForFRDY(); }
There is further to go, but that will get Netduino re-flash working. The python has a lot of other features that are set up for an at91sam7s, and I have not looked at them for at91sam7x at all.
My reason for using this is that for an interval, my linux machine is a powerpc Apple eMac, and the Atmel SAM-BA isn't available for powerpc or in source code form. I suppose there are not many experimenting on Netduino without a .NET, and even fewer on Linux. But, if you are tempted, it works and is fun.