Other Parts Discussed in Thread: HALCOGEN
In the provided sys_selftest.c (at least somewhat generated by HalCoGen), I had 2 questions about the PBIST configuration (both in pbistSelfCheck):
1. Where is this block of code specified; from the technical manual, this entire address set is "reserved" and read-only. I believe this is somehow configuring the PBIST coprocessor, but I need definition.
pbistREG->RAMT = 0x00002000U; //Sets data-width
*(volatile uint32 *)0xFFFFE400U = 0x4C000001U;
*(volatile uint32 *)0xFFFFE440U = 0x00000075U;
*(volatile uint32 *)0xFFFFE404U = 0x4C000002U;
*(volatile uint32 *)0xFFFFE444U = 0x00000075U;
*(volatile uint32 *)0xFFFFE408U = 0x4C000003U;
*(volatile uint32 *)0xFFFFE448U = 0x00000075U;
*(volatile uint32 *)0xFFFFE40CU = 0x4C000004U;
*(volatile uint32 *)0xFFFFE44CU = 0x00000075U;
*(volatile uint32 *)0xFFFFE410U = 0x4C000005U;
*(volatile uint32 *)0xFFFFE450U = 0x00000075U;
*(volatile uint32 *)0xFFFFE414U = 0x4C000006U;
*(volatile uint32 *)0xFFFFE454U = 0x00000075U;
*(volatile uint32 *)0xFFFFE418U = 0x00000000U;
*(volatile uint32 *)0xFFFFE458U = 0x00000001U;
2. The result of this PBIST run produces pbistREG->FSRF0 = 1, which is a PBIST failure. I would have expected this sample-code to produce a passing result. If it is expected to fail, how do I evaluate if this code is properly working?
Thanks,
Jim