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.

RTOS: K2G_bf_rt example

Other Parts Discussed in Thread: PCM1864, SYSBIOS

Tool/software: TI-RTOS

Hi, Thank you for your help .

    We use the K2G_bf_rt  of the processor_sdk_rtos_k2g_4_01_00_06 to make our project , The project uses IIC1 to initialize two PCM1864 codec ,We want use four PCM1864 codec , so we  use IIC0 to  initialize another two PCM1864 codec. By copying the function cmb_AudioAdcReset(CMB_ADC_DEVICE_0) in main(),we make a function cmb_AudioAdcReset_I2C0 (CMB_ADC_DEVICE_0). But after compiling  ,there are mistakes in them .The log information is as follows .


**** Build of configuration Debug for project K2G_bf_rt ****

"C:\\ti\\ccsv7\\utils\\bin\\gmake" -k all
'Building target: K2G_bf_rt.out'
'Invoking: C6000 Linker'
"C:/ti/ccsv7/tools/compiler/ti-cgt-c6000_8.1.5/bin/cl6x" -mv6600 --abi=eabi --opt_for_speed=5 -g --define=DEVICE_K2G --define=SOC_K2G --define=evmK2G --define=PLATFORM_INIT_IN --define=BUILD_DSP --define=CMB_AUDIO_DAC=1 --define=M001_I2C0_Config --display_error_number --diag_wrap=off --diag_warning=225 -z -m"K2G_bf_rt.map" --stack_size=0x2000 -i"C:/ti/ccsv7/tools/compiler/ti-cgt-c6000_8.1.5/lib" -i"C:/ti/ccsv7/tools/compiler/ti-cgt-c6000_8.1.5/include" -i"C:/ti/pdk_k2g_1_0_7/packages/ti/board/lib/evmK2G/c66/release" -i"C:/ti/pdk_k2g_1_0_7/packages/ti/addon/cmb/lib/k2g/c66/release" -i"C:/ti/pdk_k2g_1_0_7/packages/ti/drv/mcasp/lib/k2g/c66/release" -i"C:/ti/aer_c64Px_obj_17_0_0_0/packages/ti/mas/aer/lib/" -i"C:/ti/volib_C66_2_1_0_1/packages/ti/mas/vpe/lib" -i"C:/ti/volib_C66_2_1_0_1/packages/ti/mas/util/lib" -i"C:/ti/pdk_k2g_1_0_7/packages/ti/addon/cmb" --reread_libs --define=DEVICE_K2G --define=SOC_K2G --define=evmK2G --define=PLATFORM_INIT_IN --define=BUILD_DSP --define=CMB_AUDIO_DAC=1 --warn_sections --display_error_number --diag_wrap=off --xml_link_info="K2G_bf_rt_linkInfo.xml" --rom_model -o "K2G_bf_rt.out" "./audio_cfg.obj" "./edma_cfg.obj" "./fil.obj" "./main.obj" "./mcasp_cfg.obj" "./sample_cs.obj" "./sample_k2g_cfg.obj" "./sample_k2g_int_reg.obj" "./sys.obj" "./sysasnr.obj" "./sysbf.obj" "./sysbfflt.obj" "./sysdrc.obj" "./syseram.obj" "./sysiram.obj" "./sysmss.obj" "./test_exit.obj" "./mhm/mhm.obj" "./mss/src/mss.obj" "./mss/src/mssproc.obj" "../src/sysbios/BIOS.obj" "../src/sysbios/c62_TaskSupport_asm.obj" "../src/sysbios/c64p_Exception_asm.obj" "../src/sysbios/c64p_Hwi_asm.obj" "../src/sysbios/c64p_Hwi_asm_switch.obj" "../src/sysbios/c64p_Hwi_disp_always.obj" "../src/sysbios/ti_tls_get_tp.obj" "../src/sysbios/timer64_Timer_asm.obj" "../bflinker.cmd" -l"configPkg/linker.cmd" -llibc.a -lti.board.ae66 -lti.drv.mcasp.ae66 -lti.addon.cmb.ae66 -laer_a.ae64P -laer_c.ae64P -lvpe_a.ae66 -lvpe_c.ae66 -lutil_a.ae66 -lutil_c.ae66 -llibc.a
<Linking>

undefined first referenced
symbol in file
--------- ----------------
cmb_AudioAdcReset_I2C0 ./main.obj

error #10234-D: unresolved symbols remain
error #10010: errors encountered during linking; "K2G_bf_rt.out" not built

>> Compilation failure
makefile:183: recipe for target 'K2G_bf_rt.out' failed
gmake: *** [K2G_bf_rt.out] Error 1
gmake: Target 'all' not remade because of errors.

**** Build Finished ****

 Can you give me some suggestions to deal with the problem? Thank you !

 

 

 Wujun  He

 

  • Hi,

    We're looking into this.

    Best Regards,
    Yordan
  • After you created the new function in cmb.c, did you recompile the addon cmb library "ti.addon.cmb.ae66". It appears that the library has not been rebuilt with the new function defined before compiling the application. Also you need to define the prototype of the new function in cmb.h .

    Whenever, you get a missing symbol error in CCS, it indicates either the required library is not linked or the library is not compiled with the symbol that the linker is not able to find. Since I see that you have the ti.addon.cmb.ae66 linked, the error is most likely because you did not rebuild the library after introducing the new modified function.

    Regards,
    Rahul

    PS: Another work around is you include the cmb.c file in the project directly where the new function is defined.