commit 335abf529a7bc20f681e518a12dc606f54678405 Author: cfif Date: Mon Jun 2 13:26:40 2025 +0300 Init diff --git a/FirmwareUveosMetadataSection.c b/FirmwareUveosMetadataSection.c new file mode 100644 index 0000000..90ca6df --- /dev/null +++ b/FirmwareUveosMetadataSection.c @@ -0,0 +1,27 @@ +// +// Created by cfif on 14.02.2025. +// +#include "FirmwareUveosMetadataSection.h" +#include "VersionRandID.h" +// #define FW_NAME_DEF FIRMWARE_VERSION " (eQcBs)" + +#ifdef FIRMWARE_TEST +#define FW_NAME_DEF FIRMWARE_VERSION "_TEST (" VERSION_RANDOM_BUILD_IDENTIFIER ")" +#else +#define FW_NAME_DEF FIRMWARE_VERSION " (oBZcy)" +#endif + +#define HW_NAME_DEF HARDWARE_REVISION + +volatile const uint32_t META_FW_CRC __attribute__((section (".meta_fw_crc"))) = 0; + +volatile const char META_FW_NAME[sizeof(FW_NAME_DEF) - 1] __attribute__((section (".meta_fw_name"))) = FW_NAME_DEF; +volatile const char META_HW_NAME[sizeof(HW_NAME_DEF) - 1] __attribute__((section (".meta_hw_name"))) = HW_NAME_DEF; + +volatile const uint8_t META_FW_NAME_SIZE __attribute__((section (".meta_fw_name_size"))) = sizeof(META_FW_NAME); +volatile const uint8_t META_HW_NAME_SIZE __attribute__((section (".meta_hw_name_size"))) = sizeof(META_HW_NAME); + +#define FIRMWARE_INTERFACE_NAME_DEF FIRMWARE_INTERFACE_VERSION " (" VERSION_RANDOM_BUILD_IDENTIFIER ")" + +volatile const char META_INTERFACE_NAME[sizeof(FIRMWARE_INTERFACE_NAME_DEF) - 1] __attribute__((section (".meta_interface_name"))) = FIRMWARE_INTERFACE_NAME_DEF; +volatile const uint8_t META_INTERFACE_NAME_SIZE __attribute__((section (".meta_interface_name_size"))) = sizeof(FIRMWARE_INTERFACE_NAME_DEF); \ No newline at end of file diff --git a/FirmwareUveosMetadataSection.h b/FirmwareUveosMetadataSection.h new file mode 100644 index 0000000..17e9a3b --- /dev/null +++ b/FirmwareUveosMetadataSection.h @@ -0,0 +1,21 @@ +// +// Created by cfif on 14.02.2025. +// + +#ifndef SMART_COMPONENTS_V2_FIRMWAREUVEOSMETADATASECTION_H +#define SMART_COMPONENTS_V2_FIRMWAREUVEOSMETADATASECTION_H + +#include "stdint.h" + +extern volatile const uint32_t META_FW_CRC; + +extern volatile const uint8_t META_FW_NAME_SIZE; +extern volatile const char META_FW_NAME[]; + +extern volatile const uint8_t META_HW_NAME_SIZE; +extern volatile const char META_HW_NAME[]; + +extern volatile const uint8_t META_INTERFACE_NAME_SIZE; +extern volatile const char META_INTERFACE_NAME[]; + +#endif //SMART_COMPONENTS_V2_FIRMWAREUVEOSMETADATASECTION_H diff --git a/modular.json b/modular.json new file mode 100644 index 0000000..5017ac6 --- /dev/null +++ b/modular.json @@ -0,0 +1,10 @@ +{ + "cmake": { + "inc_dirs": [ + "./" + ], + "srcs": [ + "./*.c" + ] + } +} \ No newline at end of file