summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorPatrick Delaunay <patrick.delaunay@st.com>2019-04-18 17:32:44 +0200
committerPatrice Chotard <patrice.chotard@st.com>2019-05-23 11:36:47 +0200
commit8099e3db6092ab122bdd50272e9fb4a2a931c327 (patch)
tree2e951d912aceb23bcc5be8329a22ed55eb0494e0 /tools
parent5237f37e5c35052533588fe0a53febad2f047d70 (diff)
mkimage: change stm32image header to manage binary information
To get more information from STM32 Header about the generated binary, we will add a new byte with the following field: replace padding byte 255 with 0x00 for "U-Boot" Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/stm32image.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/tools/stm32image.c b/tools/stm32image.c
index 08b32ba87d..ff3ec5f3f2 100644
--- a/tools/stm32image.c
+++ b/tools/stm32image.c
@@ -14,6 +14,8 @@
#define HEADER_VERSION_V1 0x1
/* default option : bit0 => no signature */
#define HEADER_DEFAULT_OPTION (cpu_to_le32(0x00000001))
+/* default binary type for U-Boot */
+#define HEADER_TYPE_UBOOT (cpu_to_le32(0x00000000))
struct stm32_header {
uint32_t magic_number;
@@ -29,7 +31,8 @@ struct stm32_header {
uint32_t option_flags;
uint32_t ecdsa_algorithm;
uint32_t ecdsa_public_key[64 / 4];
- uint32_t padding[84 / 4];
+ uint32_t padding[83 / 4];
+ uint32_t binary_type;
};
static struct stm32_header stm32image_header;
@@ -43,6 +46,7 @@ static void stm32image_default_header(struct stm32_header *ptr)
ptr->header_version[VER_MAJOR_IDX] = HEADER_VERSION_V1;
ptr->option_flags = HEADER_DEFAULT_OPTION;
ptr->ecdsa_algorithm = 1;
+ ptr->binary_type = HEADER_TYPE_UBOOT;
}
static uint32_t stm32image_checksum(void *start, uint32_t len)
@@ -112,6 +116,8 @@ static void stm32image_print_header(const void *ptr)
le32_to_cpu(stm32hdr->image_checksum));
printf("Option : 0x%08x\n",
le32_to_cpu(stm32hdr->option_flags));
+ printf("BinaryType : 0x%08x\n",
+ le32_to_cpu(stm32hdr->binary_type));
}
static void stm32image_set_header(void *ptr, struct stat *sbuf, int ifd,