"Cannot find valid IVT header" when flashing "Hello World Demo" to M4 on 8M-Mini

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

"Cannot find valid IVT header" when flashing "Hello World Demo" to M4 on 8M-Mini

Jump to solution
2,495 Views
Phoenix42
Contributor II

Greetings,

I've been having issues using the 8M-Mini EVKB kit and flashing programs to the board. I have been able to flash and boot a fresh android image to the device, but now I cannot seem to do the same with the provided "Hello World" demo given in the SDK. For context, I am using Windows 10 and Powershell for compiling and flashing. I used ARM GCC toolchain to compile the binary file and an additional .elf file. However, I keep getting "Cannot find valid IVT header" when I run the command "uuu -b qspi hello_world.bin" 

I've been referring to the "Getting Started with MCUXpresso SDK for EVK-MIMX8MM" (MCUXSDKIMX8MMGSUG) pdf for this process. I cannot seem to "Get the fspi version U-Boot image from release package" as I do not know where it is nor what to do with it after I get it. I downloaded the current Yocto Linux release and found  "imx-boot-imx8mmevk-fspi.bin-flash_evk_flexspi" and renamed it, but with no progress (likely the wrong file). Any advice on where to go? Is the flashing the M4 different for Android OS and/or working in a Windows 10 environment? I appreciate any help.

Labels (1)
1 Solution
2,478 Views
Phoenix42
Contributor II

So good news, I have successfully flashed and ran the "Hello World" demo with my 8M-Mini Kit. Turns out there was one major issue and another issue that was fixed in attempt to fix the first. 

  1. There was a major typo in the guide (Section 7.3 Step 5) for the command to flash the M4 core with the binary file. The command provided was “ uuu -b qspi m4_flash.bin”, but the correct command had an additional argument: “"uuu -b  qspi uboot_flash.bin m4_flash.bin". The correct command was actually in Figure 27 of the guide but not in the text. I suspect the “Cannot find valid IVT header” error was directly caused by this.
  2. As said before, I found an FSPI binary file not in the android image release, but among the linux release instead. To my knowledge it was not in the SDK. The file was originally “imx-boot-imx8mmevk-fspi.bin-flash_evk_flexspi” and renamed to “uboot_flash.bin” in the guide. The full original file name was not found in the guide, and it was necessary for the full command above. While it was not the original problem, it would have been the next issue.

I understand that developing in Windows 10, ARM GCC, and UUU for the Android release is not the most common combination, but the support seems lacking for beginner's. I'd ask that this be passed along to the reference creators at NXP (apparently the documents used to have author names on them) as that typo can send folks on quite the rabbit hole.

 

 

View solution in original post

1 Reply
2,479 Views
Phoenix42
Contributor II

So good news, I have successfully flashed and ran the "Hello World" demo with my 8M-Mini Kit. Turns out there was one major issue and another issue that was fixed in attempt to fix the first. 

  1. There was a major typo in the guide (Section 7.3 Step 5) for the command to flash the M4 core with the binary file. The command provided was “ uuu -b qspi m4_flash.bin”, but the correct command had an additional argument: “"uuu -b  qspi uboot_flash.bin m4_flash.bin". The correct command was actually in Figure 27 of the guide but not in the text. I suspect the “Cannot find valid IVT header” error was directly caused by this.
  2. As said before, I found an FSPI binary file not in the android image release, but among the linux release instead. To my knowledge it was not in the SDK. The file was originally “imx-boot-imx8mmevk-fspi.bin-flash_evk_flexspi” and renamed to “uboot_flash.bin” in the guide. The full original file name was not found in the guide, and it was necessary for the full command above. While it was not the original problem, it would have been the next issue.

I understand that developing in Windows 10, ARM GCC, and UUU for the Android release is not the most common combination, but the support seems lacking for beginner's. I'd ask that this be passed along to the reference creators at NXP (apparently the documents used to have author names on them) as that typo can send folks on quite the rabbit hole.