At my work we're planning on developing a new ARM based embedded Linux board. I want to give the hardware guys some guidance on features they could add that would make the software development easier. My list so far is:

At least one dual/tri color LED controllable by GPO
A JTAG header
An extra serial port for debug log messages
Extra GPIOs taken out to a header for monitoring by logic analyzer etc.

Can anyone suggest any features they found they later needed that would have helped if present on an initial board?

  • 3
    \$\begingroup\$ A board-is-powered LED. A heartbeat LED. The latter should be updated somewhere in the normal program logic(not a timed interrupt), so if it is not flashing, the system is probably frozen. Possibly a scary red critical-error LED. \$\endgroup\$ – Vorac Nov 26 '12 at 13:02

Your list looks good. I'd add:

  • some means of resetting the board other than de-powering it
  • some means of recovering from bad firmware updates
  • 1
    \$\begingroup\$ For the recovery, it's hard to beat a mask ROM UART bootloader startup option. Then no matter what someone does, it's recoverable unless the hardware is physically damaged, and unlike JTAG doesn't need any specialized equipment. \$\endgroup\$ – Chris Stratton Nov 29 '12 at 17:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.