We have our own newly manufactured board with an iMXRT1064 device. UART1 is connected via a FTDI USB UART chip, to my PC (as COM28). I am trying to get started loading code to Flash for running out of RAM after a reboot.
After a boot, from the PC com PORT I can get
sdphost -p COM28 -- error-status
Status (HAB mode) = 1450735702 (0x56787856) HAB disabled.
Reponse Status = 858993459 (0x33333333) HAB failure.
With JTAG, I can build and run (in RAM) the SDK Flashloader and then work with blhost e.g. like this
C:\Flashloader_RT1064_1.0_GA\Tools\blhost\win>blhost -p COM28 -- fill-memory 0x2000 4 0xc0000007
Ping responded in 1 attempt(s)
Inject command 'fill-memory'
Successful generic response to command 'fill-memory'
Response status = 0 (0x0) Success.
C:\Flashloader_RT1064_1.0_GA\Tools\blhost\win>blhost -p COM28 -- configure-memory 0x9 0x2000
Ping responded in 1 attempt(s)
Inject command 'configure-memory'
Successful generic response to command 'configure-memory'
Response status = 0 (0x0) Success.
C:\Flashloader_RT1064_1.0_GA\Tools\blhost\win>blhost -p COM28 -- list-memory
Ping responded in 1 attempt(s)
Inject command 'list-memory'
Internal Flash:
No Internal Flash available
Internal RAM:
Region 0: 0x00000000 - 0x0001ffff; Total size: 128 KB
Region 1: 0x20000000 - 0x2001ffff; Total size: 128 KB
Region 2: 0x20200000 - 0x202bffff; Total size: 768 KB
SEMC NOR:
kStatusMemoryNotConfigured
FlexSPI NOR:
Start Address = 0x70000000 Total Size = 4 MB Page Size = 256 bytes Sector Size = 4 KB Block Size = 64 KBSEMC NAND:
kStatusMemoryNotConfigured
SPI NAND:
kStatusMemoryNotConfigured
SPI NOR/EEPROM:
kStatusMemoryNotConfigured
SD/SDHC:
kStatusMemoryNotConfigured
MMC/eMMC:
kStatusMemoryNotConfigured
Which is all looking positive.
I am now trying to get my head around all the Boot documentation and am struggling a bit.
I can't seem to make use of mfgtool2.exe over a PC com port - there does not seem to be anywhere to enter a COM port #. If that can't be used over UART, then perhaps the docs should say so.
I want to build some iMXRT code to control the peripherals on our board with a command line interface over UART1. I want to flash (internal QSPI) an image of that code and have the iMXRT boot into it. This is very early development code so we don't need any signing or encryption.
I thought I might try this boot RAM image from Flash scheme out using the Flashloader.
I have build (MCU Xpresso, from SDK example sources) evkmimxrt1064_flashloader.bin (which is linked to run in RAM address space).
Now I need IMXRT1064 internal QSPI flash specific, instructions on how to make a bootable image (with elftoSB I assume) and load it to internal QSPAI flash. I have been looking in i.MX RT1064 Manufacturing User's Guide.pdf but that really is a bit more of an encyclopedia than a getting started guide. The confusing bit to me is getting the right .bd file - I assume that I want a non XIP (execute in place) version. There are twenty two to chose from in Flashloader_RT1064_1.0_GA\Tools\bd_file\imx10xx !
So far my attempts have produced files that I can write to flash with blhost or sdphost, but after a power cycle, the Flashloader is not running.
Any help and tips would be gratefully received.
Thanks