Projekt

Allgemein

Profil

HwData Structures » Historie » Version 4

Redmine Admin, 14.12.2021 14:52

1 2 Redmine Admin
h1. HW-Data
2 1 Redmine Admin
3
Each Board (with MCU) should have an I2C EEPROM containung some "production" information.
4
5
|_.Offset|_.Type                    |
6 2 Redmine Admin
|0x00    | Production-Data          |
7
|0x20    | Board-Config             |
8 1 Redmine Admin
|0x40    | Config 1                 |
9
|0x60    | Config 2                 |
10
11
If EEPROM is not available, an sector in internal flash can be used.
12
The area within the flash should be handled by the "retain"-class from libbiwak. It
13
already handles header version and CRC.
14
"Magic"s do not make much sense. Its not supposed to be human readable.
15
16
17
|_.Section |_.Offset|_.Type  |_.Size|_.Decription                              |_.Example    | Version |
18
|Main      |0x00    |  ui8   | 1    | Magic 'H'                                | 'H'         | 3.0.    |
19
|          |0x01    |  ui16  | 2    | Articles ID                              | 0020        | 3.0.    |
20
|          |0x03    |  ui16  | 2    | Board ID; unique                         | 0020        | 3.0.    |
21
|Version   |0x05    |  ui8   | 1    | major version                            | 0           | 3.0.    |
22
|          |0x06    |  ui8   | 1    | minor verison                            | 4           | 3.0.    |
23
|          |0x07    |  ui8   | 1    | patch verison; assembly option 1)        | 0           | 3.0.    |
24
|Production|0x08    |  ui32  | 4    | Serial number                            | 0001        | 3.0.    |
25
|          |0x0c    |  ui32  | 4    | Variant/Flags 2)                         | 0           | 3.0.    |
26 4 Redmine Admin
|          |0x10    |  ui8   | 1    | Production year (+2000)                  | 21          | 3.0.    |
27 1 Redmine Admin
|          |0x11    |  ui8   | 1    | Production month                         | 10          | 3.0.    |
28
|          |0x12    |  ui8   | 1    | Production day                           | 21          | 3.0.    |
29
|          |0x13    |  ui8   | 1    | Production site                          | 3           | 3.0.    |
30
|          |0x14    |  ui32  | 4    | reserved                                 | 0           | 3.0.    |
31
|          |0x18    | Struct | 8    | Retain information; Version, counter, CRC| {-}         | 3.0.    |
32
33
1) although circuit might be changed afterwards, assembly option at time of production
34 3 Redmine Admin
   is relevant. To compare with errata-page.
35 1 Redmine Admin
36
2) Things that might be relevant for running software like used transceivers. Product specific.
37 2 Redmine Admin
   Its only related to the board directly, not connected periphery.
38 1 Redmine Admin
39
Things like production site, version of horo-firmware etc. can be stored off-device.
40
41
Article-ID: Very loose. Eval and final have same article.
42 2 Redmine Admin
Board-ID: does not change with minor/major version. Needed to find git repos. No version. Different IDs remain parallel. As long as same souce code is used.