The firmware is the software that drives the hardware. Basic terms:
- Configuration (aka. config) and table parameters determine the operation of the firmware: they can be changed during normal operation at runtime and saved permanently to EEPROM (eg. with "mcs" menucommand). All features have some configuration, see Genboard/InitialConfig
- Runtime variables like current RPM or lambda (AFR) one cares about when monitoring the operation of the system: one might want to log them to PC or MMC flash memory card for later analysis. These are not "runtime configurable".
- Compile time variables are similar to configuration in the sense they determine the firmware operation. However, changing these require changing the my_make file, recompiling the firmware and uploading into the microcontroller.
- BootLoader is a small, simple piece of software that lives in the upper 2kb of the Genboard module's flash that makes it possible to change (upload, upgrade, reflash) the firmware to a custom-compiled (with one's own settings for compile time variables) or a firmware distributed by someone else.