I'm having trouble getting blhost.exe to connect to my MIMXRT1064-EVK with project evkmimxrt1064_flashloader running. My PC is running Win10. Right now LPUART1 it what is used over the "Freelink Interface". This is normally used as the debug port in many of the NXP example programs.
At the PC command prompt, when I type:
blhost -port COM10 --get-property 1
I appear to see an output similar to the one you get when you type blhost --help, which ends with the disclaimer:
** Note that not all commands/properties are supported on all platforms.
I have connected a scope to my RX input pin, and am not capturing any attempts by the PC to transmit on COM10, so it appears as though blhost.exe is nonfunctional.
What am I doing wrong? Any suggestions are welcome.
已解决! 转到解答。
Hi Paul,
The i.MX RT1064 has a W25Q32JV flash memory mounted on chip. The behavior as an i.MX RT1060 connected to an external W25Q32JV via pins. This saves you space and connections to an external memory.
Best regards,
Felipe
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
Thanks very much for your reply, I have since learned a few additional things....
I had been using MCUXpresso 10.3 with MIMXRT1064 SDK 2.6.
I also have MCUXpresso 11.1 installed on my PC with MIMXRT1064 SDK 2.7.
In version 2.7 of the SDK, there are two (2) example programs related to SPI Nor Flash. They are:
1.) evkmimxrt1064_flash_component_nor, and
2.) evkmimxrt1064_flexspi_nor_polling_transfer.
This means I have example code for my intended target, and won't be needing to migrate the MIMXRT1050 example code, which, as you know, has a different flash memory map.
The program evkmimxrt1064_flash_component_nor
1) begins with configuring and initializing flash.
2) Then it calls Nor_Flash_Erase_Chip(&norHandle);
3) Then enters a for-loop
for (uint32_t pageIndex = 0; pageIndex < norHandle.bytesInPageSize; pageIndex++)
in which each iteration calls Nor_Flash_Read, Nor_Flash_Page_Program, Nor_Flash_Read (to read back programmed values), Nor_Flash_Erase_Block, Nor_Flash_Read (to verify the previous erasure)
That said, when I try to debug it, if I place a breakpoint at the top of the for-loop, we finally arrive at the breakpoint after a count of 14 seconds. This suggests that flash was perhaps erased.
Upon adding the expression norHandle to my watch window, and expanding the norHandle to view its structure members, all of the structure contents (void *driverBaseAddr, uint32_t bytesInPageSize, uint32_t bytesInSectorSize, uint32_t bytesInMemorySize, and void *deviceSpecific) all show empty Value fields, with the message:
Failed to execute MI command:
-data-evaluate-expression norHandle
Error message from debugger back end:
Cannot access memory at address 0x2000037c
Hi Paul,
In order to keep a better order in our community, please create a new thread for this different question so other people can find it easier in case is useful for others.
Best regards,
Felipe
Fixed the PC side of things. I needed only look in the appendix of the blhost User's Guide where I found that the syntax of the command is
blhost -p COM10,115200 -- get-property 1
If you don't specify the baud, you get 57600. I can see the characters 0x5a 0xa6 coming out of the PC COM port.
-------------------------------------------------------------------------------------------------------------------------------------------
Next topic: Quad-SPI Flash in i.MX 1064.
Getting the flashloader working on the MIMXRT1064-EVK will be an amazing hurdle to get over. This flashloader was ported over from that of a different MIMX family member, the 1050. I know that the 1064 has 4MB of Quad-SPI Flash. This shows up as external memory in section 2.1 of "i.MX RT1064 Crossover Processors Data Sheet for Consumer Products, Rev. 0.1 01/2019" and appears on the block diagram as "Dual Channel QuadSPI" "Hyper Flash." On the same block diagram, we show an Internal memory of 4 MB Flash. Can anyone explain if this flash exists as shown on the diagram, and/or if it actually somehow the same flash as the QuadSPI external memory.
My belief that all of the flash on MIMXRT1064 resides in external memory space. Please correct me if I am wrong.
More specifically, in my evkmimxrt1064_flashloader Eclipse project, I currently have the following #define found in bootloader_config.h
// Internal Flash features
#define BL_FEATURE_HAS_NO_INTERNAL_FLASH (1)
Is this correct for MIMXRT1064 ?
Hi Paul,
The i.MX RT1064 has a W25Q32JV flash memory mounted on chip. The behavior as an i.MX RT1060 connected to an external W25Q32JV via pins. This saves you space and connections to an external memory.
Best regards,
Felipe
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------