Hi,
I'm using the MIMXRT1170-EVKB board to try the evkbmimxrt1170_flashloader example provided with the SDK. However, there isn't much documentation on how to use it to load the flash with binary images or the tools required.
I tried using the blhost user guide: https://www.nxp.com/docs/en/user-guide/MCUBLHOSTUG.pdf and few others:
https://www.nxp.com/docs/en/user-guide/MBOOTQSPIUG.pdf
https://www.nxp.com/docs/en/user-guide/MBOOTDEMOUG.pdf
but it doesn't seem specific to the example or its use cases.
Following is the sequence of commands I have tried so far, but it doesn't boot to the new image after flashing:
blhost -p COM29 -- get-property 0x19 9
Ping responded in 1 attempt(s)
Inject command 'get-property'
Response status = 10205 (0x27dd) kStatusMemoryNotConfigured
blhost -p COM29 -- fill-memory 0x20000000 4 0xCF900001
Ping responded in 1 attempt(s)
Inject command 'fill-memory'
Successful generic response to command 'fill-memory'
Response status = 0 (0x0) Success.
blhost -p COM29 -- configure-memory 9 0x20000000
Ping responded in 1 attempt(s)
Inject command 'configure-memory'
Successful generic response to command 'configure-memory'
Response status = 0 (0x0) Success.
blhost -p COM29 -- fill-memory 0x20000000 4 0xC0000006
Ping responded in 1 attempt(s)
Inject command 'fill-memory'
Successful generic response to command 'fill-memory'
Response status = 0 (0x0) Success.
blhost -p COM29 -- configure-memory 9 0x20000000
Ping responded in 1 attempt(s)
Inject command 'configure-memory'
Successful generic response to command 'configure-memory'
Response status = 0 (0x0) Success.
blhost -p COM29 -- get-property 0x19 9
Ping responded in 1 attempt(s)
Inject command 'get-property'
Response status = 0 (0x0) Success.
Response word 1 = 31 (0x1f)
Response word 2 = 805306368 (0x30000000)
Response word 3 = 65536 (0x10000)
Response word 4 = 256 (0x100)
Response word 5 = 4096 (0x1000)
Response word 6 = 65536 (0x10000)
FlexSPI NOR Attributes: Start Address = 0x30000000 Total Size = 64 MB Page Size = 256 bytes Sector Size = 4 KB Block Size = 64 KB
blhost -p COM29 -- flash-erase-region 0x30000000 0x100000
Ping responded in 1 attempt(s)
Inject command 'flash-erase-region'
Successful generic response to command 'flash-erase-region'
Response status = 0 (0x0) Success.
blhost -p COM29 -- write-memory 0x30000400 evkbmimxrt1170_lwip_dhcp_enet_qos_freertos_cm7.bin
Ping responded in 1 attempt(s)
Inject command 'write-memory'
Preparing to send 132632 (0x20618) bytes to the target.
Successful generic response to command 'write-memory'
(1/1)100% Completed!
Successful generic response to command 'write-memory'
Response status = 0 (0x0) Success.
Wrote 132632 of 132632 bytes.
C:\Users\tonyjosi\Documents\Work\FE3.0_WS\Tasks\7 RT1170 MCU\BL blhost -p COM29 -- resetHi @tj787 ,
Thanks for your interest in NXP MIMXRT series!
For the exact documentation on Flashloader, you can refer to this online version:
Although it is highly detailed, to achieve your goals more quickly, I recommend first testing with a host computer. The official MCUXpresso Secure Provisioning Tool and the third-party open-source MCUBootUtility (from GitHub) are available. Both utilize blhost and flashloader at their core.
Use the host computer software to perform relevant operations, then retrieve detailed execution processes and commands via the log. This will help accelerate your development and usage.
Best regards,
Gavin
Hi @tj787 ,
Thanks for the update!
I confirmed that this file is indeed missing from the new SDK version. You can download SDK 2.16.000 to find it in the folder path.
I will report this issue internally. Thank you!
Best regards,
Gavin
Thanks, I have downloaded SDK_25.12.00_MIMXRT1170-EVKB from https://mcuxpresso.nxp.com/dashboard (with MCUBoot, MCU Boot included in the zip), but the required tools elftosb or MfgTool2.exe are not found in the location listed in the release contents section of the docs in the SDK. I'm I downloading the SDK from the correct location, or did the location of the tools change?
Thank you
I was able to use MCUXpresso Secure Provisioning Tool to boot images.
Using the flashloader example program, I can write images directly without changing the BOOT_SEL pins. Without the flashloader, I have to change the BOOT_SEL pins to SDP mode to use the tools to program new images. Is there a way to execute the image when the BOOT_SEL pins still held at SDP mode? I tried PWR reset, but it needs BOOT_SEL to be moved back to internal boot mode to get the new image executed.
Also, does the flashloader or internal bootloader support programming via SPI or CAN interface rather than USB/UART?