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.

TMDX5535EZDSP: Voice Pre-Processing: 6 Mic setup

Part Number: TMDX5535EZDSP

Hi,

I am trying the voice pre-processing demo with 6Mic setup. I am using I20,1,2 for configuring Mics 5&6,1&2,3&4 respectively. But during DRC initialisation I am getting not enough heap error as below:

...Initializing DRC
Not enough heap, exiting

Correct me if i am wrong. If the projects works on C5517EVM it should also work on c5535ezdsp as both have same memory capacity.

Please indicate solution if any for this. I have also attached log file and code file.

6153.AudioCodec_DMA.c
Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/* ============================================================================
* Copyright (c) 2017 Texas Instruments Incorporated.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
/** @file AudioCodec_DMA.c
*
* @brief Test code to verify the CSL I2S functionality
*
* \page page6 I2S EXAMPLE DOCUMENTATION
*
* \section I2S6 I2S EXAMPLE6 - AUDIO CODEC1 DMA IDLE LOOP
*
* \subsection I2S6x TEST DESCRIPTION:
* 1. Clear SEL_I2C_S0 and SEL_I2C_S1 (IO Expander lines P02,P03) to direct I2C data and scl lines to AIC0.
* 2. Set AIC_MCBSP_MODE (IO Expander line P01) to choose AIC mode.
* 3. Set SEL_MMC0_I2S to choose I2S mode. (IO Expander line P10).
* 4. Send a reset to AIC0 by clearing AIC_RST (IO Expander line P00).
* 5. Enable Clk to DMA and I2S0 and bring them out of reset.
* 6. Configure I2S0 to be slave, l-justified stereo, loopback-datapack-sign extension disabled,
* wordlength 16-bit, Tx on rising edge, L-channel txn when FS low.
* 7. Configure DMA channels 0,1,2,3 for L-R I2S audio tx and rx, 1 32-bit burst word, interrupts
* enabled, pingpong disabled, auto-reload enabled.
* 8. Configure the Audio codec to collect line in over IN2_L and IN2_R, send it over to C5517
* over I2S0 and on the way back, collect data from
* C5517 over I2S0, finally send it out of the HPL and HPR.
* 9. Start the Rx-dma, and wait for two Rx-DMA transaction complete interrupts.
* 10. The received audio data is stored in i2sDmaReadBufLeft and i2sDmaReadBufRight.
* 11. Transfer this collected data into i2sDmaWriteBufLeft and i2sDmaWriteBufRight.
* 12. Start the Tx-dma channels that will transfer this received data out of C5517 to the headphone.
* 13. The process is repeated in a while(1).
*
*
* NOTE: THIS TEST HAS BEEN DEVELOPED TO WORK WITH CHIP VERSIONS C5515/C5517.
* MAKE SURE THAT PROPER CHIP VERSION MACRO IS DEFINED IN THE FILE
* c55xx_csl\inc\csl_general.h.
*
* \subsection I2S6y TEST PROCEDURE:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Log_6Mics.txt
Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
Audio Pre-processing Demo for C5517 EVM with CMB
This Demo Will Continuously Get Audio Input from CMB, Process the Audio Using BF+ASNR+MSS, then
Send the Processed Audio to the Left Channel of the On-Board Codec (AIC3204-2)
Bypass Audio Input from Mic2 of CMB to the Right Channel of the On-Board Codec
Please Connect the Headphone to the Audio Output (Headphone) Jack (P9)
DMA Interrupt Enable Status: 1
I2S2 Module Instance opened successfully
I2S2 Module Configured successfully
I2S3 ***I2S1*** Module Instance opened successfully
I2S3 Module Configured successfully
I2S0 Module Instance opened successfully
I2S0 Module Configured successfully
bf required buffers:
Buffer Size(twords) Alignment Volatile address
0 82 1 no 0x0
1 138 0 no 0x0
2 144 0 no 0x0
3 184 1 yes 0x0
4 320 1 yes 0x0
Buffers allocated by SIU for bf:
Buffer Size(twords) Alignment Volatile address
0 82 1 no 0x1
1 138 0 no 0x1
2 144 0 no 0x1
3 184 1 yes 0x1
4 320 1 yes 0x1
bf required buffers:
Buffer Size(twords) Alignment Volatile address
0 82 1 no 0x0
1 138 0 no 0x0
2 144 0 no 0x0
3 184 1 yes 0x0
4 320 1 yes 0x0
Buffers allocated by SIU for bf:
Buffer Size(twords) Alignment Volatile address
0 82 1 no 0x1
1 138 0 no 0x1
2 144 0 no 0x1
3 184 1 yes 0x1
4 320 1 yes 0x1
bf required buffers:
Buffer Size(twords) Alignment Volatile address
0 82 1 no 0x0
1 138 0 no 0x0
2 144 0 no 0x0
3 184 1 yes 0x0
4 320 1 yes 0x0
Buffers allocated by SIU for bf:
Buffer Size(twords) Alignment Volatile address
0 82 1 no 0x1
1 138 0 no 0x1
2 144 0 no 0x1
3 184 1 yes 0x1
4 320 1 yes 0x1
bf required buffers:
Buffer Size(twords) Alignment Volatile address
0 82 1 no 0x0
1 138 0 no 0x0
2 144 0 no 0x0
3 184 1 yes 0x0
4 320 1 yes 0x0
Buffers allocated by SIU for bf:
Buffer Size(twords) Alignment Volatile address
0 82 1 no 0x1
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • Hi Abhinandan,

    I've forwarded this to the c55x software experts. Their feedback should be posted here.

    BR
    Tsvetolin Shulev
  • Abhinandan,

    The way memory is allocated during compilation might vary between the 2 devices. I would suggest taking a look at the .map file to see how things line up in memory. Perhaps moving some items around in memory would help.

    Also, you could try to increase the heap size in .tcf.
    Lali