From coreboot
Revision as of 22:05, 25 October 2008 by Eswierk (talk | contribs) (Arastra -> Arista Networks)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Ed Swierk

I've been implementing firmware based on Coreboot on a number of AMD- and Intel-based boards for my employer, Arista Networks.

Favorite Tools

EETools TopMax Flash Programmer

If you plan to do any serious firmware hacking, a flash programmer is an indispensible tool. For most x86-based boards, it's the only way to program a flash chip on a brand-new board with no existing firmware.

The key to a good programmer is good software that's kept up-to-date with the programming algorithms and parameters for a variety of flash chips.

After fighting a losing battle with a cheap no-name flash programmer for a few weeks, I managed to find the TopMax on a dusty shelf at my local Fry's Electronics (much to the surprise of the Fry's employee who told me they hadn't stocked programmers for years).

EETools software supports zillions of different chips and posts updates regularly on their web site. It's reasonably well desgined, stable, and Just Works[tm].

The only major downside is that the EETools software is Windows-only. This seems to be par for the course among professional-grade programmers; last time I checked, Linux support was available only for the more do-it-yourself "Willem" programmers. I just hook up the programmer to an old laptop running Windows. It may be possible to run TopMax on Linux using Wine but I have not tried it myself.

Artec USB LPC Dongle

Typical firmware development process:

  • Build a firmware image
  • Pry the flash chip out of the target board, insert into programmer
  • Erase the flash chip, program the firmware image onto the chip
  • Reinsert the flash chip into the target board
  • Power up the board, watch it crash
  • Fix a bug in your code
  • Repeat

Firmware development process with the magical Artec LPC dongle in place of a flash chip:

  • Build a firmware image
  • Send the image to the dongle via the USB cable
  • Power up the target board, watch it crash
  • Fix a bug in your code
  • Repeat

In short, the Artec LPC dongle saves you lots of prying and inserting, and reduces the compile-test cycle from about 10 minutes to 1 minute. It's worth every penny.