Hi experts,
The diagnostic ADC10 listed in the Safety Manual suggests testing the parity logic of the ADC. I found the function SL_SelfTest_ADC() and we used it as reference for our implementation.
According to the Reference Manual the Parity bits are memory mapped when the testmode is active. For the dataword at Adress 0xFF3E0000 the parity bit should be at 0xFF3E0000 + 0x1000.
What is missing is a description how to find the parity bits for each word in the memory.
Let's say I wanted to flip a Parity bit for the word at address 0xFF3E0000 how do I know which bit to flip at 0xFF3E0000 + 0x1000?
Lookin at the test function in the SafeTi Lib, it suggests flipping the parity bit at the following address:
#define adc1RAMParLoc ((volatile uint8 *)(0xFF3E0007U + 0x1000U))
and read the word at
#define adc1RAMLoc ((volatile uint32 *)0xFF3E0004U)
(Q1) How do I know that the Adress adc1RAMParLoc maps to the parity bit for the word at 0xFF3E0004U?
(Q2) Why do I need a 8bit acces when the Technical Reference states that ADC RAM only supports 32bit access?
What I find interesting, is that flipping a bit at 0xFF3E0006U + 0x1000U and 0xFF3E0004U + 0x1000U also works.
Thank you and best regards,
Max