How do I write a software that programs the rabbit using asynchronous serial mode?
I have a project that works and I can load the code using the Rabbit Field Utility. I have also implemented the example for remote program update using HTTP and a secondary location.
For our application, we want to write our own program update utility because the module is part of a larger system, and we want to update all of the software using a single tool.
From what I understand, I need to:
1) Set SMODE pins to high.
2) Send byte triplets at 2400 bps, 8-N-1, over serial port A:
The bytes are: Address MSB, Address LSB, Data Byte.
There are two things that I don't understand about this process:
1) Do the bytes in a *.bin file have limitations on the addresses they need to go in? Can I write the bytes to any address, or do I need to read address information from the *.bin file, and then write the bytes to the correct locations?
2) How does the "secondary location" work? If I have two copies of the *.bin stored, how do I switch between them using Serial Port A and SMODE?