Hello All,
I am modifying an existing medical application running on C6474 EVM. I have to read data that are sent over 4 AIF lanes. For initializing the AIF, I am using an ABT library provided by TI. The ABT library aims at providing customer applications with an abstraction layer of TMS320C6474 AIF peripheral to generate asynchronous bursty
traffic. It also supports a streaming mode with large data size notifier in each stream for OBSAI only. The ABT library is built on top of TMS320C6474 Chip Support Library (register and functional layers)
While trying to setup the AIF using the ABT library, I am facing issues.
1. We are able to bring the AIF out of power saver - Success
2. Identify DSP_1 or DSP_2 on the EVM - Success
3. Initialize PLL - Success
4. Initialize Call Back Handler - Success
5. Initialize FSYNC and EDMA3 ISR - Success
6. ABT Channels creation and Configure Ring Buffer EDMA3 Machine Gun for ABT outbound data channel - Success
Next step is to Configure Ring Buffer EDMA3 Machine Gun for ABT inbound data channel
7. Configure an ABT inbound data channel - Failure
Here the DSP Aborts the running code and enters the on abort error function. On further examination, I have found that in
the fumction "ABT_commonStartEdmaInbound", while reading the value of aifRamPtr and comparing it with a known value, it is timing out.(it reads for
1000 times and then comes out with error flag set)
AifRamptr is arrived with following code -
(Uint8*)(CSL_AIF_0_DATA + (linkIndex*AIF_LINK_BLOCK_SIZE) + (hAif->linkConfig[linkIndex].inBurstSizeInChips * AIF_MAX_NUM_STREAMS * 4)*4);
The aifRamPtr points to the memory region 0xA0XXXXXX, which is correct as per the soc.h
The details of the platform file is a below
The platform file is as follows
Device Name: TMS320C6474
Device Family: c6000
Clock Speed (MHz) 1044
Name Base Length Space Access
L2RAM 0x00800000 0x00100000 code/data RWX
L1PSRAM 0xE0000000 0x00004000 Code RWX
L1DSRAM 0x00F00000 0x00004000 Data RW
DDR2 0x80000000 0x08000000 code/data RWX
L1D Cache: 16k
L1P Cache: 32k
L2 Cache: 0k
Code Memory: L2RAM
Data Memory: L2RAM
Stack Memory: L2RAM
I am unable to proceed further as configuring the inbound datA channel is failing, Any pointers to where we are going wrong.
I am using the default gel files provided along with EVM
Thanks in Advance
Narendra