Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| code:code [2024/04/02 08:41] – Igor Yefmov | code:code [2024/06/07 15:00] (current) – [Firmware version info C/C++-struct] Igor Yefmov | ||
|---|---|---|---|
| Line 60: | Line 60: | ||
| ===== Firmware version info C/ | ===== Firmware version info C/ | ||
| - | The FX3 version | + | Both FX3 and FPGA version |
| <code cpp firmware-version.h> | <code cpp firmware-version.h> | ||
| Line 70: | Line 70: | ||
| unsigned buildNo | unsigned buildNo | ||
| }; | }; | ||
| + | // [0, 3] = [hhhh' | ||
| static_assert(sizeof(FwVersion) == 4); | static_assert(sizeof(FwVersion) == 4); | ||
| </ | </ | ||
| + | For example the following sequence of bytes: | ||
| + | < | ||
| + | < | ||
| + | H/W config = 1 | ||
| + | product | ||
| + | build type = 0 | ||
| + | build# | ||
| + | </ | ||
| + | and in little-endian memory layout is equivalent to a '' | ||
| ===== FX3 Version Info ===== | ===== FX3 Version Info ===== | ||
| The version id is also encoded into the firmware image file name as: | The version id is also encoded into the firmware image file name as: | ||
| Line 90: | Line 100: | ||
| |5|Gen 4 camera, a.k.a. " | |5|Gen 4 camera, a.k.a. " | ||
| |6|Gen 5 camera, either " | |6|Gen 5 camera, either " | ||
| - | ^ Release type ^^ | ||
| - | |0|Private build: Private build for debugging and similar purposes | | ||
| - | |1|Alpha: feature-incomplete early development cycle " | ||
| - | |2|Beta: feature-complete, | ||
| - | |3|Evaluation: | ||
| - | |4|Release candidate: feature complete and stable | | ||
| - | |5|Release: general availability | | ||
| - | |6|Backport: | ||
| - | |7|Emergency bug fix: a critical post-release bugfix | | ||
| - | ^ Build number | ||
| - | |# | ||
| - | |||
| ===== FPGA Version Info ===== | ===== FPGA Version Info ===== | ||
| Line 109: | Line 107: | ||
| ==== Vendor ID that represents a vendor of the main computation unit ==== | ==== Vendor ID that represents a vendor of the main computation unit ==== | ||
| |Code |Value | | |Code |Value | | ||
| + | ^ Vendor ID((represents a vendor of the main computation unit)) | ||
| |1|Xilinx (AMD)| | |1|Xilinx (AMD)| | ||
| |2|Altera (Intel)| | |2|Altera (Intel)| | ||
| - | + | ^ | |
| - | ==== | + | |
| - | |Code |Value | | + | |
| |1|Artix-7 100T| | |1|Artix-7 100T| | ||
| |2|Artix-7 200T| | |2|Artix-7 200T| | ||
| |3|Artix %%UltraScale+%% XCAU25P| | |3|Artix %%UltraScale+%% XCAU25P| | ||
| - | + | ^ | |
| - | ==== | + | |
| - | |Code |Value | | + | |
| |1|Cyclone 10 GX| | |1|Cyclone 10 GX| | ||
| - | + | ^ | |
| - | ==== | + | |
| - | |Code |Value | | + | |
| |1|reserved| | |1|reserved| | ||
| |2|reserved| | |2|reserved| | ||
| Line 132: | Line 125: | ||
| |7|Gen 5 camera, professional grade " | |7|Gen 5 camera, professional grade " | ||
| - | ==== | + | ===== Shared parts of the Version Info ===== |
| + | Both types of Version Infor (FX3 and FPGA) share the same codes for defining build type and build number: | ||
| |Code |Value | | |Code |Value | | ||
| - | |0|Private build| | + | ^ Release type ^^ |
| - | |1|Alpha| | + | |0|Private build: Private build for debugging and similar purposes |
| - | |2|Beta| | + | |1|Alpha: feature-incomplete early development cycle " |
| - | |3|Eval/Tech preview| | + | |2|Beta: feature-complete, |
| - | |4|Release candidate| | + | |3|Evaluation: |
| - | |5|Release| | + | |4|Release candidate: feature complete and stable |
| - | |6|Backport| | + | |5|Release: general availability |
| - | |7|Emergency bug fix| | + | |6|Backport: backport of a feature from next gen camera |
| - | + | |7|Emergency bug fix: a critical post-release bugfix | |
| - | ==== Build number | + | ^ Build number |
| - | |Code |Value | | + | |# |
| - | |# | + | |
| Line 151: | Line 144: | ||
| Previous iterations had different bit layout for the Version Info, see details here: [[Firmware Versioning Evolution]] | Previous iterations had different bit layout for the Version Info, see details here: [[Firmware Versioning Evolution]] | ||
| ---- | ---- | ||
| - | ===== Vendor ID ===== | ||
| - | ^Code ^Value ^ | ||
| - | |1|Cypress| | ||
| - | |||
| - | ===== Hardware ID ===== | ||
| - | ^Code ^Value ^ | ||
| - | |1|FX3| | ||
| - | |||
| - | ===== Product ID ===== | ||
| - | ^Code ^Value ^ | ||
| - | |1|reserved for Gen 1 camera, a.k.a. "Moon landing" | ||
| - | |2|reserved for Gen 2 camera, a.k.a. " | ||
| - | |3|Gen 3 camera (Alpha), a.k.a. " | ||
| - | |4|Gen 3 camera, Production| | ||
| - | |5|Gen 4 camera, a.k.a. " | ||
| - | |6|Gen 5 camera, either " | ||
| - | |||
| - | ===== Release type ===== | ||
| - | ^ Code ^ Name ^ Meaning ^ | ||
| - | |0|Private build| Private build for debugging and similar purposes | | ||
| - | |1|Alpha| feature-incomplete early development cycle " | ||
| - | |2|Beta| feature-complete, | ||
| - | |3|Evaluation| Tech preview | | ||
| - | |4|Release candidate| feature complete and stable | | ||
| - | |5|Release| general availability | | ||
| - | |6|Backport| backport of a feature from next gen camera | | ||
| - | |7|Emergency bug fix| a critical post-release bugfix | | ||
| - | |||
| - | ===== Build number ===== | ||
| - | ^Code ^Value ^ | ||
| - | |# | ||
| - | |||
| - | |||
| - | ====== FPGA Version Info ====== | ||
| - | The version id is also encoded into the firmware image file name as: | ||
| - | < | ||
| - | |||
| - | |||
| - | ===== Vendor ID ===== | ||
| - | A '' | ||
| - | ^Code ^Value ^ | ||
| - | |1|Xilinx (AMD)| | ||
| - | |2|Altera (Intel)| | ||
| - | |||
| - | ===== Hardware ID ===== | ||
| - | A '' | ||
| - | ^%%VendorId%%^Code ^Value ^ | ||
| - | |1|1|Artix-7 100T| | ||
| - | |1|2|Artix-7 200T| | ||
| - | |1|3|Artix %%UltraScale+%% XCAU25P| | ||
| - | |2|1|Cyclone 10 GX| | ||
| - | ===== Product ID ===== | ||
| - | An '' | ||
| - | ^Code ^Value ^ | ||
| - | |1|reserved| | ||
| - | |2|reserved| | ||
| - | |3|Gen 3 camera (Alpha), a.k.a. " | ||
| - | |4|Gen 3 camera, Production| | ||
| - | |5|Gen 4 camera, a.k.a. “Vitreledonella”| | ||
| - | |6|Gen 5 camera, prosumer grade " | ||
| - | |7|Gen 5 camera, professional grade " | ||
| - | ===== Release type ===== | ||
| - | Lower '' | ||
| - | ^Code ^Value ^ | ||
| - | |0|Private build| | ||
| - | |1|Alpha| | ||
| - | |2|Beta| | ||
| - | |3|Eval/ | ||
| - | |4|Release candidate| | ||
| - | |5|Release| | ||
| - | |6|Backport| | ||
| - | |7|Emergency bug fix| | ||
| - | |||
| - | ===== Build number ===== | ||
| - | '' | ||
| - | ^Code ^Value ^ | ||
| - | |# | ||
| ====== FPGA config status - SPI codes ====== | ====== FPGA config status - SPI codes ====== | ||