Commit 441749d9 authored by Antonio Borneo's avatar Antonio Borneo Committed by Patrick Delaunay
Browse files

tools: mkimage: fix STM32 image format for big endian hosts

Two header fields are not properly converted to little endian
before assignment, resulting in incorrect header while executing
mkimage on big endian hosts.

Convert the value of the header fields image_checksum and
edcsa_algorithm to little endian before the assignment.

Signed-off-by: default avatarAntonio Borneo <>
Reviewed-by: Patrick Delaunay's avatarPatrick DELAUNAY <>
Signed-off-by: Patrick Delaunay's avatarPatrick Delaunay <>
parent cf0818b4
......@@ -45,7 +45,7 @@ static void stm32image_default_header(struct stm32_header *ptr)
ptr->magic_number = HEADER_MAGIC;
ptr->header_version[VER_MAJOR_IDX] = HEADER_VERSION_V1;
ptr->option_flags = HEADER_DEFAULT_OPTION;
ptr->ecdsa_algorithm = 1;
ptr->ecdsa_algorithm = cpu_to_le32(1);
ptr->binary_type = HEADER_TYPE_UBOOT;
......@@ -131,7 +131,8 @@ static void stm32image_set_header(void *ptr, struct stat *sbuf, int ifd,
stm32hdr->image_entry_point = cpu_to_le32(params->ep);
stm32hdr->image_length = cpu_to_le32((uint32_t)sbuf->st_size -
sizeof(struct stm32_header));
stm32hdr->image_checksum = stm32image_checksum(ptr, sbuf->st_size);
stm32hdr->image_checksum =
cpu_to_le32(stm32image_checksum(ptr, sbuf->st_size));
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment