Remote Program Update and FAT - Problem?

My hardware is the Rabbit Core Module RCM5400W, and using Dynamic C 10.60. Our application previously uses a simple web server, and stores some configuration data in the user blocks area.

I added the Remote Program Update functionality to the application, and initially it seemed to be working. I’m using the FAT file system to store the image, and I essentially inserted the various code sections from the sample firmware upload program.

However, I also wanted to store the configuration data in a FAT file. (I was thinking at the time there might be a conflict between the user blocks and the FAT system, though I’m not sure). And that’s where my trouble began.

When I added the ability to read and write the configuration data (about 200 bytes) to a file settings.dat, the program no longer works. It almost always fails when trying to write the data to the file. After successfully opening the file for write/creatin, fat_Write() is called, but never returns.

There have been a couple of times when the program worked, but I have never been able to consistently re-create that situation. I’ve tried re-formatting the partition. I spent all day yesterday on a wild-goose chase following the documentation which said I needed to include a driver before pulling in fat.lib (this turned out to be old information).

Is there any incompatability between Remote Program Update’s use of the FAT file system and my application’s simple use of the FAT file system?

What’s the difference between the fat_AutoMount() function and the sspec_automount() function?

Any comments or advice?

-Chris Lott

I have the same problem. Have you found any soultion for this?

Thank you!