Dear all,
I am currently working with the FRDMK82F evaluation board to develop a project that utilizes the QSPI Alias Region for debugging the application example "led_demo_qspi_alias" once stored in external flash memory.
Following the procedure outlined in Chapter 8 of the MBOOTQSPIUG document, I attempted to load the .sb file using blhost. However, I encountered the following error:
Inject command 'receive-sb-file'
Preparing to send 67083376 (0x3ff9c70) bytes to the target.
Successful generic response to command 'receive-sb-file'
(1/1)0%usb hid detected receiver data abort
Data phase write aborted by status 0x2712 kStatus_AbortDataPhase
Possible JUMP or RESET command received.
- took 2.990 seconds
Response status = 105 (0x69) kStatus_FlashCommandFailure
Wrote 5376 of 67083376 bytes.
I suspect this issue may be related to the large size of the binary file (approximately 67MB). Could this be the cause of the failure? If so, is there a recommended way to bypass or resolve this limitation?
To assist with the analysis, I have attached the following materials:
The "led_demo_qspi_alias" project, including:
The bootloader project (frdmk82_led_blinky), which includes:
Looking forward to hearing from you soon.
Kind regards,
Vladimir Zitoli
Hi Vladimir_Zitoli
The download image size is 67083376bytes which is large.
According to MBOOTQSPIUG, The maximum image size that MCUBoot can support is determined by the actual capacity of the external QSPI Flash, as configured in the QSPI Configuration Block (QCB). There is no explicit limit for the SB file size stated in the guide; however, the image size should not exceed the total available QSPI Flash memory.
For example,
.sflash_A1_size = 0x400000, // 4MB - MX25U3235F connected to QSPI0A
.sflash_B1_size = 0x400000, // 4MB - MX25U3235F connected to QSPI0B
So I suggest you to control the image size within the actual capacity range of the external QSPI Flash. Otherwise it will lead to failed program.
Hope this helps,
Jun Zhang
Hi Jun Zhang,
Why does the SDK provided by NXP generate a .bin file larger than the memory size? Could you, please, suggest a way to reduce the .bin file size?
Thank you for your support.
Kind regards,
Vladimir Zitoli
The SDK's linker script usually defines the entire QSPI or alias region (for example, 0x04000000~0x07FFFFFF) as available memory. When generating a .bin file, the tool exports this entire region, including unused space (which is filled with zeros), resulting in a very large .bin file.
A .bin file is a "flat" raw binary image. Unlike .srec or .hex formats, which only contain address segments with actual data, the .bin file writes out the entire defined region.
In this demo readme.txt file, it clearly addresses that "The example requires the use of the SREC file format."
So please strictly follow the steps in readme file, using srec file instead. it should work.
Hope this helps,
Jun Zhang