RT1176 Hyper Flash Download Algo Read back(J-Flash)

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

RT1176 Hyper Flash Download Algo Read back(J-Flash)

4,647 Views
许贻辉2023
Contributor I

Hi,

   I modified the download algorithm according to the above link,

https://community.nxp.com/t5/i-MX-RT-Knowledge-Base/RT1170-Octal-flash-enablement/ta-p/1498369

and the programming function can be used normally, but I found that the Read back function has some minor problems, the content written is inconsistent with the content read, see the figure for details.I suspect it's caused by not configuring MPU.

2023_0-1691635467163.png

 

0 Kudos
Reply
15 Replies

4,321 Views
许贻辉2023
Contributor I

Hi @kerryzhou :
The attachment RT-UFL-master is the Flash download algorithm I modified according to the operation in the following link. As you can see with git (Figure 1), the last modification is to adjust the Erase address range from 64M to 8M to avoid the Erase chip timeout.

Catch(08-15-10-15-48).jpg(Figure 1)


https://community.nxp.com/t5/i-MX-RT-Knowledge-Base/RT1170-Octal-flash-enablement/ta-p/1498369

Catch6C19(08-15-10-15-48).jpgFigure 2

Catch1AF5(08-15-10-15-48).jpgFigure 3

 

The main phenomena of this failure are as follows: When I used J-Flash for Production Programming, the development board was Power on again, the program ran normally, and the Led blinked normally. When I used the read back function of J-Flash (Figure 2), The address range 0x3000 0000 to 0x301F FFFF is selected, and the read content is inconsistent with the written content (Figure 3). Then the development board is Power on again, and the program cannot run normally. At this time, the Jlink command is used to reconnect, and the content read is shown in Figure 4. 

Catch64D8(08-15-10-15-48).jpgFigure 4

Catch4D67(08-15-10-15-48).jpgFigure 5


After re-using J-Flash for Production Programming, the development board is powered on again, and the program runs normally. At this time, Jlink command is used to connect. The content read again is shown in Figure 5, and the content is normal and consistent with the value written.
In summary, it appears that the use of J-Flash's Read back caused the Flash content to be tampered with. This fault has a great impact on our production and research and development, please help to check.

 

The file used for writing is: evkmimxrt1170_iled_blinky_octalFlash_cm7.bin (write from 0x3000 0000)
The file read out using J-Flash is saved as Read_back_0x3000_0000 to 0x301F_FFFF.hex; see the attachment for both.
The burning algorithm is MIMXRT_FLEXSPI_UV5_UFL.FLM, see attachment
Attached RT-UFL-master is the Flash download algorithm I modified according to the operation in the following link.
Attachment RT1176_octal.jflash is the J-Flash project.
The contents of JlinkDevices.xml are as follows:

<Device>
    <ChipInfo      Vendor="NXP"
                   Name="MIMXRT1170_UFL_octalFlash"
                   WorkRAMAddr="0x20240000"
                   WorkRAMSize="0x00040000"
                   Core="JLINK_CORE_CORTEX_M7"
                   JLinkScriptFile="Devices/NXP/iMXRT_UFL/iMXRT117x_CortexM7.JLinkScript"
                   Aliases="MIMXRT1176xxx8_M7; MIMXRT1176xxxA_M7" />
    <FlashBankInfo Name="Octal Flash" 
                   BaseAddr="0x30000000"
                   MaxSize="0x01000000"
                   Loader="Devices/NXP/iMXRT_UFL/MIMXRT_FLEXSPI_UV5_UFL.FLM"
                   LoaderType="FLASH_ALGO_TYPE_OPEN" />
  </Device>
0 Kudos
Reply

4,313 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @许贻辉2023   

   I already reply you in your case, I have tested on my side octal flash with JFlash, readout data is correct.

Thank you for your interest in the NXP MIMXRT product, I would like to provide service for you.

Please tell me your used flash whole name.
In your post, you mention it is the hyperflash, but seems still the octal flash.
Please tell me whether it is MX25UM51345GXDI00, the same as the MIMXRT1170-EVK board?
This is important to identify the issues.
BTW, please use the same Segger JLINK driver as my post, v7.68b:
https://www.segger.com/downloads/jlink/JLink_Windows_V768b_x86_64.exe
or V7.88A:
https://www.segger.com/downloads/jlink/JLink_Windows_V788a_x86_64.exe
Whether the same issues or not?
If you are using the same octal flash as the MIMXRT1170-EVK board, please use the my post's app and the UFL.
Today, I test my octal flash board again, two driver version all works after reading:

kerryzhou_0-1692155955258.png

kerryzhou_1-1692155961131.png

 

kerryzhou_2-1692155969868.png

 

So, I highly suspect your issue is caused by the old Segger JLINK driver.
Please try it again with new driver and my doc's attached UFL firmware and app.

Best Regards,

Kerry

0 Kudos
Reply

4,544 Views
Masmiseim
Senior Contributor I

Hello @许贻辉2023 

does erase work?

0 Kudos
Reply

4,499 Views
许贻辉2023
Contributor I

Yes, it works, but the Erase chip function will time out

0 Kudos
Reply

4,632 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @许贻辉2023 ,

   From your picture, your readout data is not correct.

    As the RT1176, the FCB is from offset 0X400, not 0:

kerryzhou_0-1691650443561.png

The correct position for FCB should be 0X30000400.

So, your writing area is not correct in the flash.

Please do more checking, thanks.

Best Regards,

Kerry

 

 

0 Kudos
Reply

4,626 Views
许贻辉2023
Contributor I

Hi

  I think you misunderstand me. The bin file I wrote is shown on the left side of the picture below, but the content I read out is shown on the right side. The reading in and writing out are inconsistent. See attachment for writing and reading files.evkmimxrt1170_iled_blinky_octalFlash_cm7.bin is the file to write.

2023_0-1691652288793.png

2023_1-1691652346421.png

 

0 Kudos
Reply

4,584 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @许贻辉2023 ,

  how do you program your .bin file?

  Seems with JFLASH.

  Now, please generate a .hex or the .srec file, program and read out it again, whether still the same issues?

 

Best Regards,

Kerry

0 Kudos
Reply

4,575 Views
许贻辉2023
Contributor I

Yes, the same failure still occurs, and I checked that the address does start at 0x3000 0000 when writing and 0x3000 0000 when reading, but the comparison is inconsistent. You can try it out with the downloaded algorithm from the tutorial. The same problem should arise.

2023_1-1691662571958.png

 

 

0 Kudos
Reply

4,395 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @许贻辉2023 ,

  Sorry for my later reply, really a little overflow these days.

   Do you use the directly RT-UFL, whether that works or not?

   You can refer to this post:

https://www.cnblogs.com/henjay724/p/14942574.html

   If you use the JLINK commander: loadfile xxx.bin addr

  Then readout it, whether the same issues or not?

  From your test result, seems the program to the wrong address in the JFLASH.

 You can use the jlink commander to readout it again, whether still the same issue, just want to check whether it is also related to the JFlash.

 

Best Regards,

Kerry

0 Kudos
Reply

4,379 Views
许贻辉2023
Contributor I

I tried to use loadfile to download ".bin" file, the result is shown below, I found that there will be L1-verify and L2-verify.@kerryzhou

I think it may be that the behavior of "Read back" tampered with the content of Flash, making the data read back wrong and unable to pass the verification.I will present the evidence below.

2023_2-1692076362153.png2023_0-1692074571433.png

 

 

0 Kudos
Reply

4,374 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @许贻辉2023 ,

  You are using the hyperflash, right?

  Why your app still named as octal flash? 

  Different flash has different FCB in the app image, so, whether you are using the correct app FCB?

Best Regards,

Kerry

0 Kudos
Reply

4,346 Views
许贻辉2023
Contributor I

Can you give me the email address? I wrote a lot of things, and the forum was automatically deleted after publishing.

0 Kudos
Reply

4,339 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @许贻辉2023 

  You can create the private case, then it will be talked 1V1 through emails.

  This is the flow to create the case:

1. Open below SUPPORT site, click blue "Go to Tickets" in the middle.
http://www.nxp.com/support/support:SUPPORTHOME

2.Then you will be requested to Login, if you have no an account, please first Register with your business email.

3.After login, please "Create New Cases" button in the middle, then you can submit your question.

In your case content, you can write assign to Kerry Zhou, then I will continue to help you in your private case.

Best Regards,

kerry

0 Kudos
Reply

4,347 Views
许贻辉2023
Contributor I
Sorry, I wrote the name of Flash wrong,, the Flash I am using is MX25UM513, I have added some additional instructions for the fault.
0 Kudos
Reply

4,323 Views
许贻辉2023
Contributor I

I am using MX25UM513 Flash.

The attachment RT-UFL-master is the Flash download algorithm I modified according to the operation in the following link, and you can see it with git (Figure 1). The last modification is to adjust the Erase address range from 64M to 8M, so as to avoid Erase chip timeout.

#https://community.nxp.com/t5/i-MX-RT-Knowledge-Base/RT1170-Octal-flash-enablement/ta-p/1498369 

Please refer to the attached document for the latest fault description.

Attachment RT1176_octal.jflash is the J-Flash project.

The contents of JlinkDevices.xml are as follows:

<Device>
    <ChipInfo      Vendor="NXP"
                   Name="MIMXRT1170_UFL_octalFlash"
                   WorkRAMAddr="0x20240000"
                   WorkRAMSize="0x00040000"
                   Core="JLINK_CORE_CORTEX_M7"
                   JLinkScriptFile="Devices/NXP/iMXRT_UFL/iMXRT117x_CortexM7.JLinkScript"
                   Aliases="MIMXRT1176xxx8_M7; MIMXRT1176xxxA_M7" />
    <FlashBankInfo Name="Octal Flash" 
                   BaseAddr="0x30000000"
                   MaxSize="0x01000000"
                   Loader="Devices/NXP/iMXRT_UFL/MIMXRT_FLEXSPI_UV5_UFL.FLM"
                   LoaderType="FLASH_ALGO_TYPE_OPEN" />
  </Device>
0 Kudos
Reply