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.

TMS320C6747: memory analysis of McASP pdk example of PSDK3.3.

Part Number: TMS320C6747
Other Parts Discussed in Thread: SYSBIOS

Dear Champs,

I created pdkproject in pdk_omapl13x_1_0_0 directory and build it using CCSv7.1.0, and am analyzing its memory usage now to estimate final memory size of customer's application.

I found total memory usage of this example was 514KB(525,835 Bytes), but can not select exactly which component should be used and what is expected memory size except application code.

And also customer requested to explain each component. I got below information from map file.

Could you please let me know which components will be used in real product in normal?

Could you please your estimated memory size of customer's system except application?

Especially I want to know what is cfg(audiosample_pe674.oe674) and if this will be needed in real product.

Below table is memory size of each module.

attached map file for reference.

MCASP_Audio_evmOMAPL137_c674xExampleProject_rel_map.txt

Thanks and Best Regards,

SI.

Module  Memory size(code/ro/rw) production
.\    
aic31.obj          
audioSample_io.obj 
aic3106_if.obj     
mcasp_soc.obj      
codec_if.obj       
I2C_soc.obj        
audioSample_main.obj
mcasp_cfg.obj      
audio_evmInit.obj
                                                                    16,879                                                  16,879
\pdk_omapl13x_1_0_0\packages\MyExampleProjects\MCASP_Audio_evmOMAPL137_c674xExampleProject\Release\configPkg\package\cfg\    
audiosample_pe674.oe674                                                                  230,678  
\bios_6_46_04_53\packages\ti\targets\rts6000\lib\boot.ae674    
autoinit.oe674
boot.oe674   
                                                                          480                                                        480
\bios_6_46_04_53\packages\ti\targets\rts6000\lib\ti.targets.rts6000.ae674    
System.oe674    
Text.oe674      
Error.oe674     
Core-mem.oe674  
Startup.oe674   
Memory.oe674    
Core-smem.oe674 
LoggerBuf.oe674 
SysStd.oe674    
Assert.oe674    
Core-label.oe674
Core-params.oe674
SysMin.oe674    
Gate.oe674      
Registry.oe674  
xdc_noinit.oe674 
                                                                      9,729  
\edma3_lld_2_12_03_27\packages\ti\sdo\edma3\drv\lib\674\debug\edma3_lld_drv.ae674    
edma3_drv_init.oe674
edma3_drv_basic.oe674
edma3_drv_adv.oe674  
                                                                    69,758                                                  69,758
\edma3_lld_2_12_03_27\packages\ti\sdo\edma3\drv\sample\lib\omapl137-evm\674\debug\edma3_lld_drv_sample.ae674    
sample_omapl137_cfg.oe674   
sample_cs.oe674             
sample_omapl137_int_reg.oe674
sample_init.oe674
                                                                      4,012  
\edma3_lld_2_12_03_27\packages\ti\sdo\edma3\rm\lib\omapl137-evm\674\debug\edma3_lld_rm.ae674    
edma3resmgr.oe674      
edma3_rm_gbl_data.oe674
edma3_omapl137_cfg.oe674
                                                                    77,674  
\pdk_omapl13x_1_0_0\packages\ti\board\lib\evmOMAPL137\c674\release\ti.board.ae674    
evmOMAPL137_clock.oe674  
evmOMAPL137_pinmux.oe674 
evmOMAPL137_pll.oe674    
evmOMAPL137.oe674        
evmOMAPL137_ddr.oe674    
evmOMAPL137_lld_init.oe674
                                                                      2,560                                                    2,560
\pdk_omapl13x_1_0_0\packages\ti\csl\lib\omapl137\c674\release\ti.csl.ae674    
mcasp.oe674   
uart.oe674    
i2c.oe674     
csl_chip.oe674 
                                                                      4,448                                                    4,448
\pdk_omapl13x_1_0_0\packages\ti\drv\i2c\lib\omapl137\c674\release\ti.drv.i2c.ae674    
I2C_v0.oe674
I2C_drv.oe674
                                                                      6,824                                                    6,824
\pdk_omapl13x_1_0_0\packages\ti\drv\mcasp\example\evmOMAPL137\c674\bios\src\sysbios\sysbios.ae674    
BIOS.obj               
c64p_Hwi_disp_always.obj
c64p_Exception_asm.obj 
c62_TaskSupport_asm.obj
c64p_Hwi_asm_switch.obj
c64p_Hwi_asm.obj
                                                                    34,984                                                  34,984
\pdk_omapl13x_1_0_0\packages\ti\drv\mcasp\lib\omapl137\c674\release\ti.drv.mcasp.ae674    
mcasp_drv.oe674 
mcasp_edma.oe674
mcasp_ioctl.oe674
                                                                    34,750                                                  34,750
\pdk_omapl13x_1_0_0\packages\ti\drv\uart\lib\omapl137\c674\release\ti.drv.uart.ae674    
UART_v0.oe674  
UART_stdio.oe674
UART_soc.oe674 
UART_drv.oe674 
                                                                    10,808                                                  10,808
\pdk_omapl13x_1_0_0\packages\ti\osal\lib\tirtos\omapl137\c674\release\ti.osal.ae674    
RegisterIntr_tirtos.oe674 
EventCombinerP_tirtos.oe674
SemaphoreP_tirtos.oe674   
HwiP_tirtos.oe674         
Utils_tirtos.oe674        
MuxIntcP_tirtos.oe674     
Queue_tirtos.oe674        
CacheP_tirtos.oe674
                                                                      3,316                                                    3,316
\ti-cgt-c6000_8.1.3\lib\rts6740_elf.lib    
trgdrv.obj              
lowlev.obj              
fputs.obj               
defs.obj                
imath64.obj             
fputc.obj               
setvbuf.obj             
trgmsg.obj              
fflush.obj              
fclose.obj              
copy_decompress_rle.obj 
fseek.obj               
_io_perm.obj            
exit.obj                
divi.obj                
llshift.obj             
memset.obj              
divu.obj                
tls.obj                 
fopen.obj               
memcpy64.obj            
remu.obj                
_lock.obj               
args_main.obj           
assert.obj              
strasg.obj              
copy_decompress_none.obj
copy_zero_init.obj       
                                                                    10,776  
     
stack                                                                       4,096                                                    4,096
linker generated                                                                       4,063                                                    4,063
total                                                                  525,835                                               192,966
  • Hi Sung-IL,

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

    BR
    Tsvetolin Shulev
  • Hi,

    I found this large memory caused by heap memory setting in the BIOS cfg file, and I got 327, 835 Bytes after reduce this to 2000.

    Could you please let me know your idea how I can optimize memory size further?

    EDMA3 library is one of items requiring large memory. should all these memory size will be needed? can RM be removed in the customer's system?

    edma_drv            69,758
    edma_drv_sample              4,012
    edma_lld_rm            77,674
             151,444

    Thanks and Best Regards,

    SI.

  • SI,

    Please note that the the example that you are using is using TI RTOS, EDMA RM and DRV and the MCASP driver for implementation and as you mentioned has large buffers(from Heap) for ping pong buffer mechanism.

    The small footprint MCASP example that you had requested is being implemented is using Function CSL and EDMA without using EDMA RM and drv usage.

    The small footprint MCASP example for 2/8 channel is provided under the directory path pdk_omaplxx_x_x_x/packages/ti/board/diag/mcasp and pdk_omaplxx_x_x_x/packages/ti/board/diag/mcasp_audiodc


    Regards,

    Rahul

  • The board diag examples can be built only using makefiles. To build the mcasp examples in diag follow the instructions provided here:
    processors.wiki.ti.com/.../Processor_SDK_RTOS_DIAG

    Regards,
    Rahul