Overview: Our board uses MIMXRT1052DVL6B with an external parallel NAND Flash via SEMC. NAND Flash part number is TC58BVG1S3HTA00.
Objective: For a test, I'm trying to boot from external parallel NAND Flash via SEMC and excecute the image from ITCM. For simplicity, I modified the blinky project (from SDK example) to blink the LED in our board, which is tested fine when run from IDE. I created the unsigned SB file from the blinky project output using the Boot descriptor (BD) files from Flashloader_RT1050_1.1, "imx-itcm-unsigned.bd" and "program_semcnand_image.bd".
In the "program_semcnand_image.bd", there's a series of load commands to prepare the SEMC NAND FCB before enable semcnand.
<code> #1. Prepare SEMC NAND FCB option
# Note: This is a template, need to be udpated to actual option in users' project
# See MCUX Flashloader RM for more details
# ONFI 1.0, non-EDO, Timing mode 0, 8bit IO, CSX0
load 0xD0030501 > 0x2000;
# image copy = 1, search stride = 1, search count = 1
load 0x00010101 > 0x2004;
# block index = 2, block count = 1
load 0x00020001 > 0x2008;
enable semcnand 0x2000; </code>
Question: Where can I find the bit-field description of data loaded into memory 0x2000-0x200B? I've read the "MCUX Flashloader Reference Manual, Rev2, 01/2018", but it only have FCB description for Serial NOR/NAND Flash through FlexSPI and SD/eMMC through uSDHC. There's no mention on parallel NAND flash through SEMC.
best regards,
Sicris Rey
Solved! Go to Solution.
I got an update from NXP about the Flashloader SEMC SLC NAND configuration. This is not yet available in existing reference manual. They said they'll be having an application note about SEMC SLC NAND Boot soon. Below is the option configuration description when initializing parallel NAND flash via SEMC.
You can try this tool to flash image into Raw Nand
Hi Sicris
parallel NAND flash through SEMC has another boot structure described in
sect.8.6.5.2 Parallel NAND Flash Boot Control Blocks (BCB) i.MX RT1050 Reference Manual
https://www.nxp.com/docs/en/reference-manual/IMXRT1050RM.pdf
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Igor,
I know that it has a different boot control block structure and I've read that section in the reference manual.
The question is on the flashloader usage when enabling the parallel NAND flash SEMC. When I run the these commands (this is equivalent to the series of commands in my original post) in blhost as shown below, I'm getting this error, "kStatus_SemcNAND_InvalidOnfiParameter".
This has something to do with the option values (0xD0030501, 0x00010101, 0x00020001) passed to the "--configure-memory" with memId = 0x100 (SLC raw NAND over SEMC module). This option values are not documented in the MCUX FlashLoader RM. This manual only describes the configuration option block values for FlexSPI NOR.
In my understanding (or assumption), flashloader tool will populate the necessary BCB, FCB, DBBT based on the passed option values.
BTW, thanks for replying. :smileyhappy:
TC58BVG1S3HTA00 is not ONFI-compliant NAND device, so Flashloader cannot support this device, you need to modifiy Flashloader, you can refer this thread https://community.nxp.com/thread/489622
I got an update from NXP about the Flashloader SEMC SLC NAND configuration. This is not yet available in existing reference manual. They said they'll be having an application note about SEMC SLC NAND Boot soon. Below is the option configuration description when initializing parallel NAND flash via SEMC.