Hi, Santhosh
I'm Stefan, Auto AE in China, I jsut give my answer for those questions, someone may append it later.
(1)7.12.2.1 chapter only show “Error sources for Concurrent Overflow (OFLWn) registers”, the overflow occur When multiple errors are indicated from various sources at same instant, an Overflow can be indicated by the MEMU to the FCCU. Overflow can also be indicated if the reporting table entries are full and a new unique error is reported by the system.
As RM said, MEMU is used to collect and report error event of ECC logic used on 3 regions: system RAM, Peripheral RAM and Flash, the ECC event includes correctable error and uncorrectable error for each of the 3 regions.
You can see from the MEMU Memory map and register definition(68.6), MEMU_SYS_RAM_CERR_xx range from 0 to 9, MEMU_PERIPH_RAM_CERR_xx range from 0 to 1,MEMU_FLASH_CERR_xx range from 0 to 19. If an ECC error occur in corresponding region, the address which have ECC error should be latched in MEMU registers.
(2) Regarding reporting table
The 68.7.2 chapter says “the software at any time can read the reporting table via the software programming Interface”. As my understanding, the MEMU ADDR/STS/OFLW registers are actually the reporting table. The table in 68.7.2 is just a representation of these registers, make it seem like a table intuitively.
(3) The 5 steps is used in initializing MEMU(68.7.1), it said“The software can program the table with known error addresses by setting the valid bit and storing the corresponding error address”, the purpose is to “CPU can program the known errors into the reporting table to avoid their re-reporting by MEMU”.
The reporting table can be modified by HW and SW. By HW, reporting table is changed if an ECC error occur, and this process is independent without CPU involved. By SW, the user can write something into it.
For the step3 to step5, firstly it set VLD bit to make one entry in table is valid, then check the address that is written previously is still invalid, finally change the address to the known error addresses(desired address).
(4) Regarding the memory map
The entries number is as below:
Error Source Number of entries in correctable error reporting table Number of entries in uncorrectable error reporting table
Flash (c55fmc) 20 1
System RAM 10 1
Peripheral RAM 2 1
In 7.12.2.1, table 7-31 describes the detailed error sources, you can see the number of error sources is not matched with the number of report table entry, this is reasonable, they are not one-to-one mapping. As my understanding, a new error occur will be recorded in reporting table if there are available entry.
Some useful information about MEMU can be found in MPC5744P safety manual.
As our RM is not clear for some chapters, my understand is not 100% confident, need more verification.