0x0: next image header
0x4: corresponding partition header
0x8: dataSectionCount
0xC: imageNameLength
0x10..N Image name
So the imageNameLength seems to be wrong. Moreover, when reading the data field imageNameLength, I always get a 1, even if there is valid name with > 10 chars present. So this indeed looks much more like being the number of partitions, not the name length.
Hello, according to https://www.xilinx.com/support/documentation/sw_manuals/xilinx2018_2/ug1283-bootgen-user-guide.pdf Page 16, Table 4: Zynq-7000 SoC Device Image Header, the content of the structure should be
0x0: next image header 0x4: corresponding partition header 0x8: Reserved 0xC: Partition Count length (number of partitions) 0x10..N Image name N: String terminator N+4 Reserved
However, in https://github.com/Xilinx/bootgen/blob/d000746f9621000042d9469686ee867d73321c17/imageheadertable-zynq.h ZynqImageHeaderStructure is defined as:
0x0: next image header 0x4: corresponding partition header 0x8: dataSectionCount 0xC: imageNameLength 0x10..N Image name
So the imageNameLength seems to be wrong. Moreover, when reading the data field imageNameLength, I always get a 1, even if there is valid name with > 10 chars present. So this indeed looks much more like being the number of partitions, not the name length.