update qspi flash image for ls2088ardb with error "subcore error during multicore operation"

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

update qspi flash image for ls2088ardb with error "subcore error during multicore operation"

2,666 Views
QiujuYe
Contributor III

Hi,

I want to use CodeWarrior Tap to update qspi flash image for LS2088A in our board, but can not connect the target board,  have the error "subcore error during multicore operation"

 

error-c6.PNG

Best  Regards

Qiuju.ye

0 Kudos
11 Replies

2,655 Views
yipingwang
NXP TechSupport
NXP TechSupport

1. Please check the switch setting on the LS2088ARDB.

NOR boot - LS2088ARDB Switch Value LS2088ARDB

SW4 0xFF = 11111111

SW3 0x12 = 00010010

SW5 0xFF = 11111111

SW7 0x42 = 01000010

SW8 0x5F = 01011111

SW9 0x40 = 01000000

SW6 0xFF = 11111111

 

2. If there is no valid RCW on the target board, please use hard-coded RCW on the target board.

Please double click "Target Initialization File" panel in CW IDE, then modify "USE_SAFE_RCW = False" to "USE_SAFE_RCW = True" and save the change to connect to the target board again.

 

3. If this problem remains, please send the low level CCS log to me to do more investigation.

Please open Logging Configuration panel from  Window->Preferences->Debug Server Connection->Logging Configuration, please modify Logging Level to "DEBUG" and check "Enable logging to Eclipse console", then connect to the target board again, the low level CCS log will be captured.

Please refer to the attached screenshot to open CCS log in the console panel.

 

 

0 Kudos

2,647 Views
QiujuYe
Contributor III

Hi yipingwang,

Thanks very much for your reply. The items1 and 2 all have set,  and I found if reopen the CW IDE and our board, this error disappeared some times.  now I meet next question, the qspi flash is programmed failed, it seems the flash can not be erased clean. when use erase command, it only need 0.18s.

log:

fl_erase 0x0 0x4000000
Erased 64.00MB in 0.18s
fl_erase 0x0 0x2000000
Erased 32.00MB in 0.08s
fl_write 0x0 "C:\Users\Fred.shiao\Desktop\qspi-config2.img"
Wrote "C:/Users/Fred.shiao/Desktop/qspi-config2.img" in 162.47s
fl_verify 0x0 "C:\Users\Fred.shiao\Desktop\qspi-config2.img" -s 0x4000000
Error: size requested exceeds the size of the file.
fl_verify 0x0 "C:\Users\Fred.shiao\Desktop\qspi-config2.img" -s 0x2000000
Expecting 0x55 but found 0xff at offset 0x0
Expecting 0xaa but found 0xff at offset 0x1
Expecting 0x55 but found 0xff at offset 0x2
Expecting 0xaa but found 0xff at offset 0x3
Expecting 0x00 but found 0xff at offset 0x4
Expecting 0x00 but found 0xff at offset 0x5
Expecting 0x10 but found 0xff at offset 0x6
Expecting 0x80 but found 0xff at offset 0x7
Expecting 0x40 but found 0xff at offset 0x8
Expecting 0x40 but found 0xff at offset 0x9
Verify failed from 0x0

4444.PNG

 

Best Regards

Qiuju.ye

 

0 Kudos

2,644 Views
yipingwang
NXP TechSupport
NXP TechSupport

Which version CodeWarrior are you using?

0 Kudos

2,637 Views
QiujuYe
Contributor III

Hi yipingwang,

 

We use CodeWarrior for ARMv8 v2020.06, qspi flash type is  MT25QU512ABB8ESF-0AAT, we can only find MT25QU512ABA instead of MT25QU512ABB.

 

Best Regards

Qiuju.ye

0 Kudos

2,621 Views
yipingwang
NXP TechSupport
NXP TechSupport

In Target Initialization File, please modify "QSPI_BOOT = 0" to "QSPI_BOOT = 1".

Because the QSPI controller cannot work at the same time with the IFC controller, this variable will enable QSPI boot and initialize only the QSPI and disable the IFC

0 Kudos

2,617 Views
QiujuYe
Contributor III

Hi yipingwang,

I have modified the target initialization file,  but still erase and program failed.

USE_SAFE_RCW = False   -> USE_SAFE_RCW = True

QSPI_BOOT = 0   -> QSPI_BOOT = 1

if QSPI_BOOT:

        # Add QSPI device

#        fl.add_device({"alias": "qspi", "name": "S25FS512S", "address": 0x20000000, "ws_address": 0x18000000, "ws_size": 0x1FFFF, "geometry": "8x1", "controller": "QSPI"})

        fl.add_device({"alias": "qspi", "name": "MT25QU512ABA", "address": 0x20000000, "ws_address": 0x18000000, "ws_size": 0x1FFFF, "geometry": "8x1", "controller": "QSPI"})

otherwise, we use flash type is MT25QU512ABB, we also try to add flash drive, add file MT25QU512ABB.xml, but have the same problem.

C:\Freescale\CW4NET_v2020.06\CW_ARMv8\Config\flash\devices\MT25QU512ABB.xml

 

<device-file>

       <device>

              <content>

                     <device_parameters>

                            <device_type>spi</device_type>

                            <manufacturerid>0x20</manufacturerid>

                     </device_parameters>

                     <name>MT25QU512ABB</name>

                     <sectors>

                            <sector count="1024" size="0x10000"/>

                     </sectors>

                     <organizations>

                            <organization depth="64M" width="8">

                                   <id>0xBB20</id>

                                   <algorithm>

                                          <fpinclude href="algorithms/MT25QU512ABA.xml"/>

                                   </algorithm>

                            </organization>

                     </organizations>

              </content>

       </device>

</device-file>

1011.png

 

Best Regards

Qiuju.ye

 

 

0 Kudos

2,594 Views
yipingwang
NXP TechSupport
NXP TechSupport

I am discussing this issue with the Application team, please wait for my update later.

Tags (1)
0 Kudos

2,576 Views
yipingwang
NXP TechSupport
NXP TechSupport

Please refer to the following suggestion from the AE team.

This flash device was used on NXP parts which suggests  me that there isn't an algorithm issue in the CW.(at least from the point of view of the customers that had those devices)

 

If the client tries a sequence as(in the debugger console):

fl_id

fl_erase offset 0x100

fl_dump offset 0x100

fl_write offset 0xabcdeab

 

what errors does he see for the above commands?

 

Note:

To run the above sequence:

- save the init script.(and make it the active script)

- click on the "Connect" button (near the Inspect button)

- once there is an active connection to the board, open Debugger Console and type one of the above commands.(for fl_id it does not matter if you do not see the actual id; the idea is that the command must not fail)

 

 

 

Is there any offset that works?

For example:

-first range

0 - FFFFFF

-second range

01000000h - 01FFFFFFh

-third range

02000000h - 02FFFFFFh

-fourth range

03000000h - 03FFFFFFh

 

(these ranges are taken from DS)

 

Note: MT25QU512ABB Is compatible MT25QU512ABA- the difference  is just the revision number.

 

Another suggestion is to check with a logical analyzer the commands sent / received from the device.

0 Kudos

2,472 Views
QiujuYe
Contributor III

hi yipingwang,

 

Our team has discussed, buy a new CW TAP and software license, and I will use new TAP to try, then if meet same problem, I will ask you again, thansks very much for your help.

 

Best  Regards

Qiuju.ye

 

 

 

0 Kudos

2,393 Views
QiujuYe
Contributor III

Hi yipingwang,

I am sorry to trouble again. I want to konw  if the qspi flash is empty or bad image,  the ls2088a can not boot up, no any output on sonsole, then if still can use CW tap to progam image to qspi flash?  the qspi flash image is bad, I can not use "flash programmer" to update flash image again, it appear "subcore error during multicore operation" again. if not, have other ways to update image instead of remove the flash chip from the board.

Best Regards

Qiuju.ye

 

0 Kudos

2,381 Views
yipingwang
NXP TechSupport
NXP TechSupport

You could use CodeWarrior to program image to QSPI flash, even if  qspi flash is empty or bad image.

In CW initialization file, you need to do the following modification to use hard-coded RCW on the target board.

USE_SAFE_RCW = False   -> USE_SAFE_RCW = True

0 Kudos