EmbeddedRelated.com
Forums

Downloading to Flash

Started by rhina1999 January 4, 2006
I have been using Rabbit 3000 and to write my program into the flash, I
always run the dynamic C software and Compile my program to flash. Now
I will like to be able to download just the binary file to flash. This
is so I can give my program to a third party without giving them my
source code. I also use some Global macro definitions that I will like
to use when donloading the binary file. Any help on this will be
appreaciated.
Thanks,
Rhina1999


rhina1999 wrote:
> I have been using Rabbit 3000 and to write my program into the flash, I
> always run the dynamic C software and Compile my program to flash. Now
> I will like to be able to download just the binary file to flash. This
> is so I can give my program to a third party without giving them my
> source code. I also use some Global macro definitions that I will like
> to use when donloading the binary file. Any help on this will be
> appreaciated.
> Thanks,
> Rhina1999

That is what the RFU utility is for. You will need coldload.bin,
pilot.bin, flash.ini RFU.exe and your .bin file.

------
| Scott G. Henion| shenion@shen... |
| Consultant | Stone Mountain, GA |
| SHDesigns | PGP Key 0xE98DDC48 |
| http://www.shdesigns.org |
------
today's fortune
Death is God's way of telling you not to be such a wise guy.



At 04:21 PM 1/4/2006 +0000, you wrote:

>I have been using Rabbit 3000 and to write my program into the flash, I
>always run the dynamic C software and Compile my program to flash. Now
>I will like to be able to download just the binary file to flash. This
>is so I can give my program to a third party without giving them my
>source code. I also use some Global macro definitions that I will like
>to use when donloading the binary file. Any help on this will be
>appreaciated.
>Thanks,
>Rhina1999

Not sure about part 2 of your question, but there are two solutions to
field updating a Rabbit.

1) Use the RFU (Rabbit Field Utility, included with DC) and the special
programming cable connected to the Rabbit Core. While a pretty robust
method for field updating, it requires a special cable and access to the
program header. The benefit is even if the program manages to self
destruct by writing to it's own flash for example, you can still recover
the Rabbit, since the RFU sends it's own loader program.

2) Use a Download Manager of some sort. Scan the archives, there are
several available, that can take the data either serially, or over
ethernet. Scott Henion (sorry if I butchered your name Scott) has one
available at http://www.shdesigns.org , there are others. If you are
willing to sacrifice 256K of flash, Rabbit has a solution that stores in
the top 256K of flash, and updates the bottom 256K. Not great, but
functional. Or you could write your own. I wrote a serial one that works
great, with a tiny footprint, low chance of flash corruption while
updating, and requires no special cabling. It's not a project for the
faint of heart however, it took me a couple of weeks of intense programming
to get it right, and it's a pain in the ass to debug.

So there you have it. Happy updating!

-Mike