Now I have to get SAM9 to enter monitor mode and the SAM-BA GUI and/or CLI can access the system via /dev/ttyACM0 to dump all the data.
I started to ask for help on this issue in another forum and got following instructions from fzabkar how to achieve this:
Can you please confirm his instructions are the right way to get SAM9 to boot in monitor mode without cleaning the NAND email@example.com wrote: The Soc has a mask ROM which enables it to POST and set up the USB port. It also contains the code for the SAM-BA monitor. At the time of manufacture, the NAND flash is vacant
During the post, the SoC looks for boot devices. If it doesn't find any, it invokes its SAM-BA monitor and waits for commands from the USB-serial device. The designer then uploads his application code (eg JamMan) into block #0 of the NAND flash memory using an appropriate SAM-BA tool. He could alternatively use the SAM-BA commands directly, but the tool makes this a lot easier and safer. Block #0 is guaranteed to be good by the NAND manufacturer. The remainder of the NAND is used to stored the guitar loops.
AISI, you need to temporarily ground the NAND's Ready/Busy* pin during the POST in order to invalidate it. The SoC is then unable to find a boot device, which then causes it to invoke its SAM-BA monitor. AFAICT, you should be able to confirm that SAM-BA is active by typing "V" (Display Version) via a terminal program such as PuTTY or HyperTerminal.
If you get this far, then you should be able to read and write to NAND flash. You may need to configure the address spaces first, though.
As for the OS, ISTM that this is transparent and therefore irrelevant.
I should add that R/B* should only be grounded until the monitor is active. It should then be released from ground.
Once again, I think that the AT91 forum is a much better place for support. I would at least ask for confirmation from one of their engineers before proceeding with my suggestions.
Thank you very much.