Flash Array Integrity Check --> Done bit always enabled

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

Flash Array Integrity Check --> Done bit always enabled

1,142 Views
Osabry
Contributor II

I am trying to run Flash array integrity check for MPC5744P once "AIE" bit is set "AID" bit does not clear and remains set which messes up the logic after. What would be causing such problem.

0 Kudos
9 Replies

875 Views
Osabry
Contributor II

@lukaszadrapa kind reminder, note that I also tried using the SSD drivers attached with the example rather than the c55 driver and the hardware generated signature persists to be different.

0 Kudos

862 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi,

you can take the values from my example as a reference to check if it is problem of offline or online MISR calculation:

lukaszadrapa_0-1692085748922.png

 

lukaszadrapa_1-1692085769721.png

So, just try to use the same values/blocks in your project and check if you can get the same MISR from calculator and from HW. 

Regards,

Lukas

 

0 Kudos

815 Views
Osabry
Contributor II

@lukaszadrapa  I am actually using GCC so it would be much easier if you have a version of the example compatible with GCC rather than GHS as I am trying to use your example after some adjustments and compiling through s32 and I couldn't get the same signature through the offline tool.

0 Kudos

982 Views
Osabry
Contributor II

@lukaszadrapa I scrolled through the example you attached I just couldn't use it as it is as I am using S32, I am rather using the flash c55 driver from an s32 example, which implements the same logic you are using that is:

1. initializing flash (clearing error bits)

2. initializing UTEST mode by writing password to UT0

3. setting the appropriate SELn bits (SEL2 = 0x1)

4. setting AIS bit for sequential sequence

5. no breakpoints 

6. seeding UMn registers with offline generated MISR

7. setting AIE bit to start the check

I then get a different MISR values in UMn registers, I have also noticed that the used MISR in your example is generated while the tool is configured to "little endian" however the MPC5744p controller is based on "big-endian" architecture. I have attached the elf and mot files I am using in addition to the offline tool generated signature and the hardware generated signature if you could just confirm the offline generated signature is correct and matches your hardware.

0 Kudos

1,037 Views
Osabry
Contributor II

Thank you @lukaszadrapa for your reply, I tried watching AID bit through a debug session and I still couldn't manage to watch it clear at all I believe the only reason at this level is because the code in flash is very small so the FAIC is done in less than one clock cycle. However, FAIC persists to fail indicating a clear difference in signature between hardware generated and offline tool is there any way to double check which is the correct signature or is there any common mistakes while using the offline tool for example ?

0 Kudos

1,120 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi @Osabry 

the AID is cleared only for short period of time - it's cleared only during execution of the check.

Did you unlocked all the blocks which are being checked?

Is the code running from RAM?

https://community.nxp.com/t5/MPC5xxx-Knowledge-Base/Example-MPC5744P-FlashArrayIntegrityCheck-test-S...

Regards,

Lukas

0 Kudos

625 Views
Mennazz
Contributor II

Hello @lukaszadrapa 

Could you please explain in more detail what each and every function used in the example does as it is not clear at all
they are all .c files consisting of hexadecimal arrays. 

Mennazz_0-1695564177899.png

 

0 Kudos

1,026 Views
Osabry
Contributor II
@lukaszadrapa I deeply feel he issue is with the offline tool as all the configurations (endianness, start addresses, sequence and block selection) match yet the hardware generates different signature than the offline tool. I'd appreciate a direct link to download the tool for MPC5744P just to be sure I am using the right tool however the downloaded tool has the right controller name "MPC5744P"
0 Kudos

1,013 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

The SSD package was removed from the web some time ago because it is not maintained anymore. So, I will attach it here.Then you will find the tool here:

c:\Program Files (x86)\Freescale\Standard Software Driver v1.1.0\MPC57xx\Tool\MISR_gen\

You can test the same setup which I used in the example shared above. I can remember there was no problem with that, I was able to get the same MISR values.

Regards,

Lukas

 

0 Kudos