@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.
Hi,
you can take the values from my example as a reference to check if it is problem of offline or online MISR calculation:
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
@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.
@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.
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 ?
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?
Regards,
Lukas
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.
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