Hi experts,
I am trying to implement diagnostic RAM12 listet in the safety manual. As far as I can tell this would have to test Idle state parity, Command State Parity and internal adress parity. Since the Safety Library does not even mention this test, I have been searching for a way to do this. What I came up with is the following:
1. Write 0x10000U (Idle state parity) or 0x20000U (Command state) or 0x30000U to select which parity checker should be inverted
2. FPAR_OVR |= (uint32_t) 0xA00U to activate the parity override
3. Read from flash (e.g from 0x00000008u)
4. Check if ESM 2.17 or 3.13 are set (depending which parity hast been inverted)
5. Check FEDAC_PASTATUS for errors
6 Check FEDAC_PBSTATUS for errors
7. Reset errors in ESM and FEDAC_PBSTATUS and FEDAC_PASTATUS
(Q1) What I do not understand is how to choose which Port to test?
(Q2) Technical Reference Table 7-11 list Bus error as failure reaction to "Access parity error/Internal parity errors", which I assume would be errors in Commandstateparity and Internal adress parity. Does this mean that doing these Tests stops normal SW execution and jumps to an Abort Handler?
Thank you and best regards,
Max