HP Forums

Full Version: DIYx flash bootloader
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

Previously the only way to update the flash of the DIYx series of calculators Richard Ottosen and I have made required a special debugging interface. (Sort of like the HP programming cable, but more expensived due to having a microcontroller and other active electronics.)

It's long been on my to-do list, but I finally have a flash bootloader working for the DIY4x and DIY5. Currently it is able to install a new firmware image from a MicroSD card, but I expect to soon have it able to install from a host computer over USB also.

It's quite nice finally being to be able to do firmware updates without needing any special hardware.

Also, there's no fooling around with erase and reset buttons on a cable, or getting a blank display so you can't tell what's going on, and draining the coin cells rapidly.

Currently the bootloader takes around 44KB of the 1MB flash, which is much more than I expected, especially since the USB stack isn't even compiled in yet. From the linker map it is apparent that around 28KB of that is from the standard C library, which is linked in because I use printf(). I can replace that with a lightweight printf() replacement, and that should reduce it by 20KB or more, although I also need to add a bigger font for the LCD. My original objective was to have the bootloader fit in under 32KB of flash, but that might not be possible when including the USB stack. However, I think I'll be reasonably happy as long as it stays under 64KB, since that will still leave 960KB of flash for the calculator.

Edited: 9 Sept 2012, 6:40 p.m.

Sounds like decent progress. It is a nice feeling to be able to easily reflash a device for the first time :-)

It also seems like you're close to target for the 32kb boot loader.


- Pauli

Quote:
... there's no fooling around with erase and reset buttons on a cable, or getting a blank display so you can't tell what's going on, and draining the coin cells rapidly.

As written in the manual, that blank display phase can be annoying. Though it lost much of its horror since I know my calculator is well supplied by Harald's USB board :-)

Anyway, your flash bootloader is most welcome progress :-)