Hi, I am Jules from France and I am new in this forum.
I am currently developping a CAN driver based on DMA capabilities and I found some good examples somewhere in this forum ( e2e.ti.com/.../287665 ).
However, I observed some weird behavior I cannot explain; here are my exact problematic sequence:
- download the zip file from aforementioned link,
- unzip the file and import it in my CCS V6,
- change the project settings to use RM46L852 target, USB XDS100V2 debug probe and little endianness,
- change only the sys_startup.c file with following config (line 333):
pbistRun( (uint32)0x00000000U /* EMAC RAM */
| (uint32)0x00000000U /* USB RAM */
| (uint32)0x00000800U /* DMA RAM */
| (uint32)0x00000200U /* VIM RAM */
| (uint32)0x00000040U /* MIBSPI1 RAM */
| (uint32)0x00000080U /* MIBSPI3 RAM */
| (uint32)0x00000100U /* MIBSPI5 RAM */
| (uint32)0x00000000U /* CAN1 RAM */
| (uint32)0x00000000U /* CAN2 RAM */
| (uint32)0x00000000U /* CAN3 RAM */
| (uint32)0x00000000U /* 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);
Then compile the project, load it into the target, and launch the program.
--> Something is "broken", DMA is not working properly; dmaFTCAInterrupt function is never called again.
Issue is 100% reproducible.
Hence my question is : Is DMA RAM PBIST using any of the latest peripheral (FRAY, RTP, HTU, HET, ADC) to perform its own checks and it is forbidden to enable DMA RAM PBIST and Disabling the other RAM tests?
Thanks for all
Jules