This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RM48 startup DMA RAM PBIST

Other Parts Discussed in Thread: RM48L952, HALCOGEN

I used HALCoGen to generate startup code in HL_sys_startup.c for the RM48L952 including a memory built in self test on DMA RAM as follows:

    pbistRun(  (uint32)0x00000000U    /* EMAC RAM */
             | (uint32)0x00000000U    /* USB RAM */
             | (uint32)0x00000800U    /* DMA RAM */
             | (uint32)0x00000000U    /* VIM RAM */
             | (uint32)0x00000000U    /* MIBSPI1 RAM */
             | (uint32)0x00000000U    /* MIBSPI3 RAM */
             | (uint32)0x00000000U    /* MIBSPI5 RAM */
             | (uint32)0x00000000U    /* CAN1 RAM */
             | (uint32)0x00000000U    /* CAN2 RAM */
             | (uint32)0x00000000U    /* CAN3 RAM */
             | (uint32)0x00000400U    /* ADC1 RAM */
             | (uint32)0x00000000U    /* ADC2 RAM */
             | (uint32)0x00000000U    /* HET1 RAM */
             | (uint32)0x00000000U    /* HET2 RAM */
             | (uint32)0x00000000U    /* HTU1 RAM */
             | (uint32)0x00000000U    /* HTU2 RAM */
             | (uint32)0x00000000U    /* RTP RAM */
             | (uint32)0x00000000U    /* FRAY RAM */
             ,(uint32) PBIST_March13N_DP);

Note that the only two RAMs which have the PBIST enabled are DMA and ADC1.

When the DMA RAM PBIST is run on startup the DMA does not work. When I disable the DMA RAM PBIST it works again.

Looking into the cause I found that the control packet in use (control packet 0) does not get populated when the DMA RAM PBIST is run. See the attached memory dumps for comparison. Note that 0xFFF80000 is the base address of control packet 0 and 0xFFFFF000 is the base address of the DMA control registers. Both data dumps were taken after running the application for approximately 1 minute.

DMA RAM PBIST disabled:

DMA RAM PBIST enabled:

Note that DMA control packet 0 is cleared. Why does the DMA RAM PBIST cause control packet 0 to fail?

Thanks,

Ryan