Well, you're probably all going to roll your eyes at yet another program loader for the FRC, but I hope mine stands out a bit, so please give it a chance
Over the last two months, I've been writing and extensively testing my program loader, which is called rigel. Actually, I'm quite sick of the name (which was temporary in the first place), so if any of you have a better one, I'd be happy to rename it.
The loader and corresponding library is free software, licensed under the GPL. It (hopefully) is worth your time because:
- It is complete. The entire AN851 specification is implemented, including IFI's non-standard additions to it. The INHEX32 implementation includes support for extended linear addresses, allowing for use of the full addressing space of the 2006/2007 FRC.
- It is portable. Rigel runs on any POSIX-compliant platform and Windows.
- It is extensible. If next year they upgrade the PIC18, it is trivial to update the configuration file to reflect the new memory sizes.
- It is robust. Rigel can upgrade the master firmware, read the normal program memory and the boot sector, read EEPROM data to file, capture output from the device, and read/write to HEX, BIN, and raw binary data, in addition to just loading the program.
- It is well-encapsulated (much like pycloader) and has a simple API that can be statically linked against for your own programs and utilities. Some example utilities can be found in the utils/ dir of the source.
At the moment, it is currently command-line only (although very simple to use). I have delegated the task of writing an ncurses front-end to one of our programmers, and I am writing a wxWidgets GUI for it to make life easier for those who don't like the command line.
The only issue is that it probably doesn't yet work on big-endian architectures, but that should be very easy to fix. Just compile it with make and it should be fine on any platform with gcc (mingw32 works fine for windows). I'll build a Windows executable tomorrow and upload it; for now, here is the source and the readme:
http://lights2dx.net/source/other/rigel-0.12.tar.bz2
http://lights2dx.net/source/other/rigel/README
My team has been using it with no issues on slackware/i486 and I've tested it on Fedora 6/x86_64, but if you find any problems with it (or if you hate it), please post them here.