tools: kwbimage: Show binary image offset in mkimage -l, in addition to size
authorPali Rohár <pali@kernel.org>
Wed, 12 Jan 2022 17:20:49 +0000 (18:20 +0100)
committerStefan Roese <sr@denx.de>
Fri, 14 Jan 2022 10:39:16 +0000 (11:39 +0100)
For debugging purposes it is good to know where the binary image would be
loaded and also it is needed to know if printed size is image size or the
size of header together with image.

Make it unambiguous by showing that printed size is not the size of the
whole header, but only the size of executable code, and print also the
executable offset of this binary image. Load/execute address is the offset
relative to the base address (either 0x40004000 or 0x40000000).

Signed-off-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Stefan Roese <sr@denx.de>
tools/kwbimage.c

index 2de8c37..d1fb67d 100644 (file)
@@ -1872,9 +1872,12 @@ static void kwbimage_print_header(const void *ptr)
 
        for_each_opt_hdr_v1 (ohdr, mhdr) {
                if (ohdr->headertype == OPT_HDR_V1_BINARY_TYPE) {
-                       printf("BIN Hdr Size: ");
+                       printf("BIN Img Size: ");
                        genimg_print_size(opt_hdr_v1_size(ohdr) - 12 -
                                          4 * ohdr->data[0]);
+                       printf("BIN Img Offs: %08x\n",
+                               (unsigned)((uint8_t *)ohdr - (uint8_t *)mhdr) +
+                               8 + 4 * ohdr->data[0]);
                }
        }