How to use MCU Boot Utility to NAND Flash.

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

How to use MCU Boot Utility to NAND Flash.

2,009件の閲覧回数
Onds_Satoshi_Sasaki
Contributor II

Hello,

We are going to connect MCU Boot Utility to W25N02JW Serial SLC NAND Flash.
It is adopted on i.MX RT1170, our client's hardware.
Previos hardware had SerialNOR flash, then our environment was working well, including MCU Boot Utility.
However exchanged with NAND Flash hardware couldn't connect by MCU Boot Utility.
What should we do, as the first step?
Should we implement any NAND Flash driver for MCU Boot Utility?

Regards,

タグ(2)
0 件の賞賛
12 返答(返信)

1,024件の閲覧回数
jay_heng
NXP Employee
NXP Employee

In MCUBootUtility v5.2.1 or latest version, below nand devices are verified.

- MX35LF2G24AD
- W25N01GV
- GD5F1GQ5UEYIG

0 件の賞賛

1,889件の閲覧回数
jay_heng
NXP Employee
NXP Employee

I have confirmed with Winbond guys that W25N02 has two planes actually, so we should try below setting

Capture.PNG

0 件の賞賛

1,870件の閲覧回数
Onds_Satoshi_Sasaki
Contributor II

Thank you for your help and contacting to Winbond.

Unfortunately, MCU Boot Utility couldn't works.

The situation couldn't be changed.

Should we give up booting from W25N02JW?

Regards,

0 件の賞賛

1,823件の閲覧回数
diego_charles
NXP TechSupport
NXP TechSupport

Hi @Onds_Satoshi_Sasaki 

Continuing with the follow up. I want to see if we could try to narrow down the issue.

Do you have any  W25N01 to test  your design with?

Or do you have any different pin setup for FlexSPI NAND pins, to the ones we have on Table 10-1. ROM Bootloader Peripheral PinMux ?

Diego

0 件の賞賛

1,797件の閲覧回数
Onds_Satoshi_Sasaki
Contributor II

Thank you for comment.

Unfortunately, we don't have W25N01.

We are trying on EVK board replaced from NOR to NAND, currently.
How can we change ROM Bootloader Peripheral PinMux ?

 

Regards,

0 件の賞賛

1,922件の閲覧回数
jay_heng
NXP Employee
NXP Employee

 Winbond 1Gb device (W25N01) is well verified by NXP team, but for 2Gb device, I am not sure about it.

 I checked W25N02JW data sheet, it didn't seem to support multi-plane, but there are always two planes in 2Gb device of other vendors (MXIC, Micron…).

Anyway you can give a try by below settings:

Capture.PNG

0 件の賞賛

1,924件の閲覧回数
jay_heng
NXP Employee
NXP Employee

You don't need to implement NAND driver for MCU Boot Utility, it is included in \SDK_2.11.1_MIMXRT1170-EVK\boards\evkmimxrt1170\bootloader_examples\flashloader.

If you want to update flashloader for MCU Boot Utility, you can build new flashloader.srec file from SDK, and rename it to flashloader_user.srec and then put it into \NXP-MCUBootUtility\src\targets\MIMXRT1176\ folder

0 件の賞賛

1,906件の閲覧回数
Onds_Satoshi_Sasaki
Contributor II

Thank you for your help.

We can see just following files.

-----------------------------------------

C:\nxp\SDK_2_12_0_MIMXRT1176xxxxx\boards\evkmimxrt1170\bootloader_examples\flashloader\cm7


Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2022/08/30 17:51 mcux
------ 2022/08/29 8:48 11181 flashloader_cm7_v3_10.xml
------ 2022/08/29 8:48 6890 pin_mux.c
------ 2022/08/29 8:48 4002 pin_mux.h
------ 2022/08/29 8:48 59834 usb_device_ch9.c
------ 2022/08/29 8:48 2572 usb_device_ch9.h
------ 2022/08/29 8:48 25318 usb_device_class.c
------ 2022/08/29 8:48 19692 usb_device_class.h
------ 2022/08/29 8:48 36195 usb_device_hid.c
------ 2022/08/29 8:48 10457 usb_device_hid.h

-----------------------------------------

Should we modify and build pin_mux.c? Then, is it OK just setting mux for Spi-NAND?

When we have to get another files, please let me know how to get them.

Best Regards,

 

0 件の賞賛

1,892件の閲覧回数
Onds_Satoshi_Sasaki
Contributor II

Sorry,

I find ,I have to build flashloader_cm7 project.

Then I rebuild it and replaced, however result is same.

Should I change anything to support NAND flash?

Regards,

 

0 件の賞賛

1,951件の閲覧回数
Onds_Satoshi_Sasaki
Contributor II

Hi,

> Did you loaded an DCD pin configuration for your SEMC or FlexSPI interface?

In this case, should we update DCD for using FlexSPI NAND?

0 件の賞賛

1,988件の閲覧回数
Onds_Satoshi_Sasaki
Contributor II

Hello Diego,
Thank you for your help.

It cause after clicking with the Connect to ROM section.
We load evkmimxrt1170_xip_boot_header_dcd.bin.

Log is following...


Executing: C:\Users\user\Downloads\NXP-MCUBootUtility-master\tools\blhost2_3\win\blhost -t 50000 -u 0x1FC9,0x013D -j -- get-property 1 0
toolStatus: 0
commandOutput: {
"command" : "get-property",
"response" : [ 1258487809 ],
"status" : {
"description" : "0 (0x0) Success.",
"value" : 0
}
}

Executing: C:\Users\user\Downloads\NXP-MCUBootUtility-master\tools\blhost2_3\win\blhost -t 50000 -u 0x1FC9,0x013D -j -- get-property 17 0
toolStatus: 0
commandOutput: {
"command" : "get-property",
"response" : [ 0 ],
"status" : {
"description" : "0 (0x0) Success.",
"value" : 0
}
}


C:\Users\user\Downloads\NXP-MCUBootUtility-master\tools\elftosb4\win>"C:\Users\user\Downloads\NXP-MCUBootUtility-master\tools\elftosb4\win\elftosb.exe" -f imx -V -c "C:\Users\user\Downloads\NXP-MCUBootUtility-master\gen\bd_file\imx_flashloader_gen.bd" -o "C:\Users\user\Downloads\NXP-MCUBootUtility-master\gen\bootable_image\ivt_flashloader_user.bin" "C:\Users\user\Downloads\NXP-MCUBootUtility-master\src\targets\MIMXRT1176\flashloader_user.srec"
Section: 0x0
iMX bootable image generated successfully

Executing: C:\Users\user\Downloads\NXP-MCUBootUtility-master\tools\blhost2_3\win\blhost -t 5242000 -u 0x1FC9,0x013D -j -- load-image C:\Users\user\Downloads\NXP-MCUBootUtility-master\gen\bootable_image\ivt_flashloader_user.bin
toolStatus: 0
commandOutput: {
"command" : "load-image",
"response" : [],
"status" : {
"description" : "0 (0x0) Success.",
"value" : 0
}
}

Executing: C:\Users\user\Downloads\NXP-MCUBootUtility-master\tools\blhost2_3\win\blhost -t 50000 -u 0x15A2,0x0073 -j -- get-property 1 0
toolStatus: 0
commandOutput: {
"command" : "get-property",
"response" : [ 1258424320 ],
"status" : {
"description" : "0 (0x0) Success.",
"value" : 0
}
}

Executing: C:\Users\user\Downloads\NXP-MCUBootUtility-master\tools\blhost2_3\win\blhost -t 50000 -u 0x15A2,0x0073 -j -- get-property 1 0
toolStatus: 0
commandOutput: {
"command" : "get-property",
"response" : [ 1258424320 ],
"status" : {
"description" : "0 (0x0) Success.",
"value" : 0
}
}

Executing: C:\Users\user\Downloads\NXP-MCUBootUtility-master\tools\blhost2_3\win\blhost -t 50000 -u 0x15A2,0x0073 -j -- get-property 24 0
toolStatus: 0
commandOutput: {
"command" : "get-property",
"response" : [ 1409351684 ],
"status" : {
"description" : "0 (0x0) Success.",
"value" : 0
}
}

Executing: C:\Users\user\Downloads\NXP-MCUBootUtility-master\tools\blhost2_3\win\blhost -t 50000 -u 0x15A2,0x0073 -j -- efuse-read-once 22
toolStatus: 0
commandOutput: {
"command" : "efuse-read-once",
"response" : [ 4, 8 ],
"status" : {
"description" : "0 (0x0) Success.",
"value" : 0
}
}

Executing: C:\Users\user\Downloads\NXP-MCUBootUtility-master\tools\blhost2_3\win\blhost -t 5242000 -u 0x15A2,0x0073 -j -- read-memory 1074675776 4 C:\Users\user\Downloads\NXP-MCUBootUtility-master\tools\blhost2_3\win\vectors\readReg.dat 0
toolStatus: 0
commandOutput: {
"command" : "read-memory",
"response" : [ 0 ],
"status" : {
"description" : "10200 (0x27D8) kStatusMemoryRangeInvalid",
"value" : 10200
}
}

Executing: C:\Users\user\Downloads\NXP-MCUBootUtility-master\tools\blhost2_3\win\blhost -t 5242000 -u 0x15A2,0x0073 -j -- fill-memory 538976256 4 3238133794 word
toolStatus: 0
commandOutput: {
"command" : "fill-memory",
"response" : [],
"status" : {
"description" : "0 (0x0) Success.",
"value" : 0
}
}

Executing: C:\Users\user\Downloads\NXP-MCUBootUtility-master\tools\blhost2_3\win\blhost -t 5242000 -u 0x15A2,0x0073 -j -- fill-memory 538976260 4 239 word
toolStatus: 0
commandOutput: {
"command" : "fill-memory",
"response" : [],
"status" : {
"description" : "0 (0x0) Success.",
"value" : 0
}
}

Executing: C:\Users\user\Downloads\NXP-MCUBootUtility-master\tools\blhost2_3\win\blhost -t 5242000 -u 0x15A2,0x0073 -j -- fill-memory 538976264 4 3254780164 word
toolStatus: 0
commandOutput: {
"command" : "fill-memory",
"response" : [],
"status" : {
"description" : "0 (0x0) Success.",
"value" : 0
}
}

Executing: C:\Users\user\Downloads\NXP-MCUBootUtility-master\tools\blhost2_3\win\blhost -t 5242000 -u 0x15A2,0x0073 -j -- fill-memory 538976268 4 538976256 word
toolStatus: 0
commandOutput: {
"command" : "fill-memory",
"response" : [],
"status" : {
"description" : "0 (0x0) Success.",
"value" : 0
}
}

Executing: C:\Users\user\Downloads\NXP-MCUBootUtility-master\tools\blhost2_3\win\blhost -t 5242000 -u 0x15A2,0x0073 -j -- fill-memory 538976272 4 262148 word
toolStatus: 0
commandOutput: {
"command" : "fill-memory",
"response" : [],
"status" : {
"description" : "0 (0x0) Success.",
"value" : 0
}
}

Executing: C:\Users\user\Downloads\NXP-MCUBootUtility-master\tools\blhost2_3\win\blhost -t 50000 -u 0x15A2,0x0073 -j -- configure-memory 257 538976256
toolStatus: 0
commandOutput: {
"command" : "configure-memory",
"response" : [],
"status" : {
"description" : "4 (0x4) kStatus_InvalidArgument",
"value" : 4
}
}


Best Regards,

 

0 件の賞賛

1,996件の閲覧回数
diego_charles
NXP TechSupport
NXP TechSupport

Hi @Onds_Satoshi_Sasaki 

I hope you are doing great.

Generally speaking the MCU Boot Utility can support generating and loading the image FlexSPI/SEMC NAND memories.

Per my understanding the MCU Boot Utility loads  customizable a Flashloader, which is does receive your bootable images and knows how to program the flash memory. However,  I think have we be sure on the following.

Where does communication fails with your device? After clicking with the Connect to ROM section or in the Image loading sequence?

Did you loaded an DCD pin configuration for your SEMC or FlexSPI interface?

If you could share the log generated by the tool it would be good.

All the best, 

Diego

 

All the best, 

Diego

0 件の賞賛