Hello,
I'm trying to generate bootable Zephyr image with CRC checksum. I'm using frdm-rw612 development board
My progress so far:
To generate MBI with CRC checksum using nxpimage tool from spsdk, I first need an image that starts with boot header as described in UM11865 figure 42.
When building zephyr application for frdm_rw612, FCB is placed at the start of the image by linker script. I will add FCB later so I commented out zephyr_library_sources(W25Q512JVFIQ_FCB.c) in CMakeLists.txt in frdm_rw612 board files.
Now the generated binary file does not contain FCB but the boot header still starts at 0x1000 and the begining is filled with zeros. I have changed CONFIG_FLASH_CONFIG_OFFSET and IMAGE_VECTOR_TABLE_OFFSET to 0x00, so now the image starts with boot header at 0x00.
But here is the problem, my application is now linked to be executed from address 0x00. When I generate bootable image using nxpimage bootable-image export it will prepend the binary with FCB and the addresses inside the binary now doesn't match.
I'm generating the final bootable image using script which you can find in the attachement.
Is it possible to generate Zephyr image without the zeros at the begining of the image, but still linked that it is executable from address 0x1000?
Or is it possible to configure nxpimage to create mbi from binary that has boot header at offset 0x1000?
And last question, how is it possible to get logs from the ROM bootloader?
解決済! 解決策の投稿を見る。
I was able to make this work. I had to change CONFIG_FLASH_LOAD_OFFSET to 0x1000. Now the generated binary starts with boot header and is linked to be executed from address 0x1000.
I was able to make this work. I had to change CONFIG_FLASH_LOAD_OFFSET to 0x1000. Now the generated binary starts with boot header and is linked to be executed from address 0x1000.