Other Parts Discussed in Thread: HALCOGEN,
Hi TI team,
I'm working on STC tests implementation and faced with some questions regarding this functionality explanation within the TRM and implementation in HALCoGen. Hope you could help me with it.
If we look into code from HALCoGen, configuration for self-test (stcSelfCheck) is done in the following way:
stcREG->STCGCR0 = 0x00010001U;
So RS_CNT = 1 and INTCOUNT = 1.
But in accordance with the TRM (description of the STCSCSCR):
Self-check can only be done for the STC interval 0 by setting the RS_CNT bit in STCGCR0 to 1 to restart the self-test.
Question 1:
Which interval has to be select for self-test: 0 (TRM) or 1 (code)?
--------------------------------------------------------------------------------------
If we look configuration for STC test (cpuSelfTest), its configuration is done as follows:
stcREG->STCGCR0 = no_of_intervals << 16U;
if(restart_test)
{
stcREG->STCGCR0 |= 0x00000001U;
}
Intervals are set as required, RS_CNT = 1.
If we look again to the TRM (description of the STCSCSCR):
To proceed with regular CPU self-test, STCSCSCR should be programmed to disable the self-check feature and clear the RS_CNT bit in STCGCR0 to 0.
Questions 2 and 3:
Which RS_CNT is desired for normal test (not STC self-test)?
What is the influence of this bit to the test execution? Description in the TRM is a bit unclear.
--------------------------------------------------------------------------------------
Question 4:
Test implementation contains some delay loop before test enabling (for specific number of VBUS clock cycles). But I can't find the corresponding information within the TRM.
Could you give me a link, please?
--------------------------------------------------------------------------------------
Question 5:
When self-test and STC test has to be executed: before clock configuration/after/does not matter?
Within the HALCoGen as I see, it is done after.
Thanks in advance for your help!