Part Number: TMS320F28379D
Other Parts Discussed in Thread: C2000WARE
Hi, Im struggling with the problem that one of my memory (MRAM) stops working at irregular intervals after writing/reading (MRAM is completely damaged and it is no longer possible to work with it). I have multiple same circuits with new components (picture below), but after irregular intervals (a few days, one day or just one hour) MRAM stop working and is damaged for 100%. In my code, Im writing/reading from Mram every second from IPC or greater than one second depends on incoming different interrupts, possibly sometimes it can be every 400ms. Also I have Flash on same EMIF which performs the same cycle, but always after one minute, but it also depends on whether I get an interrupt so max. possible read/write cycle can occur every 1 second. I have done bool flags handling e.g in case, that an interrupt occurs and the program writes to mram it cannot write to Flash at sametime because im waiting before mram complete firstly, and if is everything done im clear flag and Flash can start or continue after IPC (Mram has higher priority in this case).
Specs:
MRAM: MR3A16AYS35
FLASH: S29GL128S90TFI010
So far I see the reason that on one of the flash pins will remain on (idk why), and the MRAM has a maximum output current on the pin only 20mA (Flash 100mA). Somehow some peak gets to the mram pin and it's over (But it is just my theory)... Could it be that you switch to the wrong or non-existing page? or not existing address or writing to non existing address ? As a driver im using example files emif_dc.c emif_dc.h edited for my gpios.
Have any of you already had a similar problem, or how could this issue be resolved? Thank very much for each suggestion and answer
Schematic (EM1CS3 is on GPIO35 not inc. in this picture)

