Colibri EEPROM Layout
Jump to navigation
Jump to search
All the Colibri I/O modules come with a 1Mbit EEPROM on board, that serves to store a few different things;
- Vendor, Model and Revision of 'this' board.
- Calibration parameters needed to compensate for hardware tolerances.
- Test report (if any) from factory.
- The driver(s) (i.e. code) of the board, to be executed in the MCU module on behalf of the board.
- Any additional parameters, configuration that should survive over time.
- Any storage space an on-module co-MCU needs.
Memory Layout
| Address | Length | Description |
|---|---|---|
| 0x0000 | 4 | Contains the value 0xdeadbabe to indicate that it has been initialized. |
| 0x0004 | 12 | Reserved for future use. |
| 0x0010 | 4 | Vendor ID, according to table below. |
| 0x0014 | 4 | Vendor Model identifier. This is specific to each vendor. Vendors are encouraged to add their tables on this page. |
| 0x0018 | 4 | Vendor Hardware Revision, where revision 'A' is written has 0x0041 and revision 'CC' is 0x4343 |
| 0x001c | 4 | Reserved for future use. |
| 0x0020 | 4 | Pointer to Vendor name, in ASCII. |
| 0x0024 | 4 | Length of Vendor name |
| 0x0028 | 4 | Pointer to Model name, in ASCII. |
| 0x002c | 4 | Length of Model name. |
| 0x0030 | 4 | Pointer to Product Link |
| 0x0034 | 4 | Length of Product Link |
| 0x0038 | 4 | Pointer to Documentation Link |
| 0x003c | 4 | Length of Documentation Link |
| 0x0040 | 4 | Size of zeptoforth code. |
| 0x0044 | 4 | Size of Web Assembly (wasm) code block. |
| 0x0048 | 56 | Reserved for future use. |
| 0x0080 | 128 | Calibration data, see each I/O module for details |
| 0x0100 | 256 | Test Reports, see each I/O module for details |
| 0x0200 | 1024 | Text area. Links points to here. |
| 0x0600 | 2560 | Vendor defined area. |
| 0x1000 | 12288 | Reserved for future use. |
| 0x4000 | 16384 | Driver software/code in zeptoforth. |
| 0x8000 | 16384 | Driver software/code in WebAssembly. |
| 0xc000 | 16384 | Reserved for future use. |
| 0x10000 | 65536 | Reserved for co-MCU on I/O module. |