HwData Structures » Historie » Version 14
Redmine Admin, 15.12.2021 18:05
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 | 12 | Redmine Admin | The Board-Config is config information that might be inherited by production data; |
5 | e.g. max. usable LEDs; soldered transceivers. It *should* be reflected by variants but may not, at least |
||
6 | development samples. The software does not want to miracle information from production data. |
||
7 | 1 | Redmine Admin | |
8 | 12 | Redmine Admin | |
9 | 1 | Redmine Admin | |_.Offset|_.Type | |
10 | 2 | Redmine Admin | |0x00 | Production-Data | |
11 | |0x20 | Board-Config | |
||
12 | 1 | Redmine Admin | |0x40 | Config 1 | |
13 | |0x60 | Config 2 | |
||
14 | |||
15 | If EEPROM is not available, an sector in internal flash can be used. |
||
16 | The area within the flash should be handled by the "retain"-class from libbiwak. It |
||
17 | already handles header version and CRC. |
||
18 | "Magic"s do not make much sense. Its not supposed to be human readable. |
||
19 | |||
20 | 13 | Maximilian Seesslen | The first 5 Bytes after magic can be used to identify an plain PCB. Until there are not more than |
21 | 12 | Redmine Admin | 0xff articles, they coud be shrinked to 4Bytes in representations. |
22 | 13 | Maximilian Seesslen | The first 7 Bytes after magic can be used to identify an valid article PCB. |
23 | 9 | Redmine Admin | |
24 | 12 | Redmine Admin | |_.Section |_.Offset|_.Type |_.Size|_.Decription |_.Example |_.Retain Version | Comment | |
25 | 14 | Redmine Admin | |Board |0x00 | ui8 | 1 | Magic 'B' / 0x42 / 66 | 'B' | 4.0. | Check content with GDB | |
26 | 13 | Maximilian Seesslen | | |0x01 | ui16 | 2 | Articles Code | 0x0020 | 4.0. | Can be printed on PCB, so no variant | |
27 | | |0x03 | ui8 | 1 | Board Code | 01 | 4.0. | Main is always main | |
||
28 | 9 | Redmine Admin | | |0x04 | ui8 | 1 | major version | 0 | 4.0. | | |
29 | | |0x05 | ui8 | 1 | minor version | 4 | 4.0. | | |
||
30 | 1 | Redmine Admin | | |0x06 | ui8 | 1 | patch version; assembly patches 1) | 0 | 4.0. | 0='X' | |
31 | 12 | Redmine Admin | | |0x07 | ui8 | 1 | Board Variant | 0 | 4.0. | Valid Solder options; The used BOM | |
32 | 11 | Redmine Admin | |Production|0x08 | ui32 | 4 | Serial number | 0001 | 4.0. | | |
33 | | |0x0C | ui8 | 1 | Production year (+2000) | 21 | 4.0. | | |
||
34 | 9 | Redmine Admin | | |0x0D | ui8 | 1 | Production month | 10 | 4.0. | | |
35 | 11 | Redmine Admin | | |0x0E | ui8 | 1 | Production day | 21 | 4.0. | | |
36 | 1 | Redmine Admin | | |0x0F | ui8 | 1 | Production site | 3 | 4.0. | | |
37 | |Main |0x10 | ui16 | 1 | Articles Variant | 0x0020 | 4.0. | MM Crona, No-Can | |
||
38 | | |0x12 | ui8 | 1 | Articles Version | 01 | 4.0. | Does not make much sense; New version new article code| |
||
39 | | |0x14 | ui8 | 4 | reserved | 01 | 4.0. | | |
||
40 | 3 | Redmine Admin | | |0x18 | Struct | 8 | Retain information; Version, counter, CRC| {-} | 4.0. | | |
41 | 10 | Redmine Admin | |
42 | 1 | Redmine Admin | 1) although circuit might be changed afterwards, assembly option at time of production |
43 | 12 | Redmine Admin | is relevant to compare with errata-page. |
44 | The soldered parts shout match the one taged with this patch level in git. |
||
45 | 1 | Redmine Admin | |
46 | Things like production site, version of horo-firmware etc. can be stored off-device. |