0

I am building mixed signal electronics hardware (containing analog and digital sections) for quite some time. Often I need to enhance the design of my boards to incorporate new features in the system.

This hardware revision often induces a modification in firmware. My question is what are the possible schemes available to detect hardware board revision.

N.B. The firmware is running on bare hardware. So no OS or BIOS is there. Further, a latest firmware upgrade may be sent to an installation which is already in the field.

Krishnendu
  • 116
  • 4

1 Answers1

3

The easiest way is possibly to store the board revision somewhere in an eeprom.

The chances are good that this does not even need a dedicated eeprom because lots of chips have a few eeprom bytes to store configuration and a few bytes of user-data. Take a look at temperature sensors, USB controllers and such. Maybe even your micro-controller has a few bytes of eeprom for that purpose.

Another way would be to use some unused GPIO pins and wire them up to some high and low logic levels. You can encode the board revision there and read it out during startup time.

Last, you have firmware stored somewhere, possible in flash. You can dedicate one flash-page for configuration data such as board revision. During firmware update just make sure that you preserve the data during flashing.

Nils Pipenbrinck
  • 83,631
  • 31
  • 151
  • 221