From 50dbd6fca524e03fd2d58b90e4c33509543f9ee9 Mon Sep 17 00:00:00 2001 From: cfif Date: Mon, 2 Jun 2025 14:32:56 +0300 Subject: [PATCH] Init --- FirmwareMetadataSection.c | 24 ++++++++++++++++++++++++ FirmwareMetadataSection.h | 18 ++++++++++++++++++ modular.json | 17 +++++++++++++++++ 3 files changed, 59 insertions(+) create mode 100644 FirmwareMetadataSection.c create mode 100644 FirmwareMetadataSection.h create mode 100644 modular.json diff --git a/FirmwareMetadataSection.c b/FirmwareMetadataSection.c new file mode 100644 index 0000000..00b40aa --- /dev/null +++ b/FirmwareMetadataSection.c @@ -0,0 +1,24 @@ +// +// Created by xemon on 07.12.22. +// + + +#include "FirmwareMetadataSection.h" +#include "VersionRandID.h" + +#ifdef FIRMWARE_TEST +#define FW_NAME_DEF FIRMWARE_VERSION "_TEST (" VERSION_RANDOM_BUILD_IDENTIFIER ")" +#else +#define FW_NAME_DEF FIRMWARE_VERSION " (" VERSION_RANDOM_BUILD_IDENTIFIER ")" +#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); diff --git a/FirmwareMetadataSection.h b/FirmwareMetadataSection.h new file mode 100644 index 0000000..ac93c12 --- /dev/null +++ b/FirmwareMetadataSection.h @@ -0,0 +1,18 @@ +// +// Created by xemon on 07.12.22. +// + +#ifndef UVEOS_ON_NATION_FIRMWAREMETADATASECTION_H +#define UVEOS_ON_NATION_FIRMWAREMETADATASECTION_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[]; + +#endif //UVEOS_ON_NATION_FIRMWAREMETADATASECTION_H diff --git a/modular.json b/modular.json new file mode 100644 index 0000000..4b70e54 --- /dev/null +++ b/modular.json @@ -0,0 +1,17 @@ +{ + "dep": [ + { + "type": "git", + "provider": "Smart_Components_Aurus", + "repo": "CmakeConfig_RandomBuildIdGenerator" + } + ], + "cmake": { + "inc_dirs": [ + "./" + ], + "srcs": [ + "./*.c" + ] + } +} \ No newline at end of file