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.

SYS/BIOS migration

Other Parts Discussed in Thread: SYSBIOS, OMAPL138

I am trying to migrate my application from DSP/BIOS to SYS/BIOS with EDMA3 2.11.05.02 and biospsp 3.0.01.00.

I have managed to get it to compile but the linker cannot find the following references.

_ti_sysbios_family_c64p_EventCombiner_disableEvent__E C:\ti\edma3_lld_02_11_05_02\packages\ti\sdo\edma3\drv\sample\lib\c6748-evm\674\release\edma3_lld_drv_sample.a674<sample_c6748_int_reg.o674>

_ti_sysbios_family_c64p_EventCombiner_dispatchPlug__E C:\ti\edma3_lld_02_11_05_02\packages\ti\sdo\edma3\drv\sample\lib\c6748-evm\674\release\edma3_lld_drv_sample.a674<sample_c6748_int_reg.o674>

_ti_sysbios_family_c64p_EventCombiner_enableEvent__E C:\ti\edma3_lld_02_11_05_02\packages\ti\sdo\edma3\drv\sample\lib\c6748-evm\674\release\edma3_lld_drv_sample.a674<sample_c6748_int_reg.o674>

_ti_sysbios_hal_Cache_CacheProxy_wbInv__E C:\ti\bios_6_33_04_39\packages\ti\sysbios\lib\instrumented_674\sysbios\sysbios.lib<BIOS.obj>

_ti_sysbios_hal_Cache_CacheProxy_wb__E C:\ti\bios_6_33_04_39\packages\ti\sysbios\lib\instrumented_674\sysbios\sysbios.lib<BIOS.obj>

_ti_sysbios_io_DEV_Module__state__V C:\ti\bios_6_33_04_39\packages\ti\sysbios\lib\instrumented_674\sysbios\sysbios.lib<BIOS.obj>

_ti_sysbios_io_DEV_Object__create__S C:\ti\bios_6_33_04_39\packages\ti\sysbios\lib\instrumented_674\sysbios\sysbios.lib<BIOS.obj>

_ti_sysbios_io_DEV_Object__delete__S C:\ti\bios_6_33_04_39\packages\ti\sysbios\lib\instrumented_674\sysbios\sysbios.lib<BIOS.obj>

_ti_sysbios_io_DEV_Params__init__S C:\ti\bios_6_33_04_39\packages\ti\sysbios\lib\instrumented_674\sysbios\sysbios.lib<BIOS.obj>

_ti_sysbios_io_DEV_tableSize__C C:\ti\bios_6_33_04_39\packages\ti\sysbios\lib\instrumented_674\sysbios\sysbios.lib<BIOS.obj>

_ti_sysbios_io_GIO_Instance_State_freeList__O C:\ti\bios_6_33_04_39\packages\ti\sysbios\lib\instrumented_674\sysbios\sysbios.lib<BIOS.obj>

_ti_sysbios_io_GIO_Object__create__S ./Dsp_C6748/spiInitC6748.obj

_ti_sysbios_io_GIO_Object__delete__S ./UartInit.obj

_ti_sysbios_io_GIO_Params__init__S ./Dsp_C6748/spiInitC6748.obj

_xdc_runtime_Timestamp_get32__E C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

_xdc_runtime_knl_Sync_wait__E C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

Can someone explain to me where the libraries are that contain those references. I have looked in the obvious places without success.

Thanks Iain

  • Iain,

    Can you post your configuration file (with the .cfg extension) so we can see what modules are being configured for the application?

    Thanks,
    Scott

  • Scott,

    cfg file as requested.

    Regards Iain

    rtos.cfg
  • Scott,

    I have now managed to get the application to link by selecting various functionality with the SYS/BIOS(.cfg).

    One further issue you may be able to help with? I wish to have the name of the target build to be something other than ${PROJECT}.out.

    In my previous DSP/BIOS project I set the required name in the Build Options Linker output file and map file and that was fine.

    However in this case I do the same but the output file remains ${PROJECT}.out although the .map file is correct.

    Any help on this would be appreciated.

    Regards Iain

  • Iain,

    What version of CCS are you using?

    I just tried this, specifying alternate output and map file names in project options and got the expected named files.

    In the console log the alternate names specified in the GUI are indeed passed to the linker:

    'Building target: myName.out'
    'Invoking: C6000 Linker'
    "C:/ccs52b3/ccsv5/tools/compiler/c6000_7.3.
    /bin/cl6x" -mv6740 -g --define=c6748
    --display_error_number --diag_warning=225 --abi=coffabi -z -m"myName.map" --stack_size=0x800 --heap_size=0x800 --warn_sections --display_error_number -i"C:/ccs52b3/ccsv5/tools/compiler/c6000_7.3.4/lib" -i"C:/ccs52b3/ccsv5/tools/compiler/c6000_7.3.4/include" --reread_libs --rom_model -o "myName.out" -l"./configPkg/linker.cmd"  "./hello.obj" -l"libc.a"

    <Linking>

    Did you try something similar and it is not working for you?

    Thanks,
    Scott

  •  

     

    'Building target: FP188S6.out'

    'Invoking: C6000 Linker'

    "C:\ti\ccsv5\tools\compiler\c6000_7.3.5\bin\cl6x" -mv6740 -g --define="_FHR35" --define="_DEBUG" --define="_C6748" --define="_TMSC320C6X" --define=omapl138 --display_error_number --diag_warning=225 -z -o"motionAPI" -m"motionAPI.map" --stack_size=0x800 --heap_size=0x800 --define=DSP_CORE=1 --warn_sections -i"C:/ti/ccsv5/tools/compiler/c6000_7.3.5/lib" -i"C:/ti/ccsv5/tools/compiler/c6000_7.3.5/include" -i"C:/ti/bios_6_33_04_39\packages\ti\bios\lib" -i"C:/ti/bios_6_33_04_39\packages\ti\sysbios\family\c674\lib" -i"C:/ti/bios_6_33_04_39\packages\ti\sysbios\family\c64p\lib" -i"C:/ti/bios_6_33_04_39\packages\ti\sysbios\hal\lib" -i"C:/ti/bios_6_33_04_39\packages\ti\sysbios\io\lib" -i"C:/ti/edma3_lld_02_11_05_02\packages" -i"C:/ti/BIOSPSP_03_00_01_00_vdc" -i"c:/ti/dsplib674x\dsp\lib" -i"c:/ti/syslink_2_10_06_28/packages\ti\syslink\lib" --reread_libs --rom_model -o "FP188S6.out" -l"./configPkg/linker.cmd" "./Dsp_C6748/uart_evmInit.obj" "./Dsp_C6748/uartInitC6748.obj" "./Dsp_C6748/spiInitC6748.obj" "./Dsp_C6748/DspC6748.obj" "./utils.obj" "./servo.obj" "./serial.obj" "./profile.obj" "./ped_control.obj" "./mcbspInit.obj" "./main.obj" "./lens.obj" "./jog.obj" "./irq.obj" "./icelog.obj" "./height_control.obj" "./head_control.obj" "./fuji.obj" "./event.obj" "./error.obj" "./dac.obj" "./control.obj" "./command.obj" "./canon.obj" "./Zettlex.obj" "./UartInit.obj" "./GpioInit.obj" "./Dsp.obj" "./ADC.obj" -l"dsplib674x.lib" -l"libc.a" "../fhp_Release.cmd"

    <Linking>

    'Finished building target: FP188S6.out'

    Regards Iain

  • The last post missed most of the information. I will try again.

    If you look at the 2nd line of the linker command in the previous post, you will see -o"motionAPI" which is the name I selected in CCS. However on the 6th line just after rom model you will see -o"FP188S6.out". This overrides the name I selected.

    I have recently upgraded to CCS 5.2.0.00069. I did not have this problem with my DSP/BIOS projects but they were developed under CCS 5.1.

    Regards Iain

  • Scott,

    I think I was a bit premature in saying I had the application linking.

    In the SYSLINK documentation it says that "Ipc_attach()" is required to initialise the connection to the host.

    I did that and then received all the following linker errors. I am now at a loss as to which library to include to clear this.

    It would be a great help if there was a decent CCS example somewhere to show how to add SYSLINK to the RTOS.

    Any pointers would be appreciated.

    Regards Iain

    undefined first referenced

    symbol in file

    --------- ----------------

    _ti_sdo_ipc_GateMP_attach__E C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_ipc_Ipc_A_invArgument__C C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_ipc_Ipc_A_nullArgument__C C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_ipc_Ipc_Module__diagsEnabled__C C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_ipc_Ipc_Module__diagsIncluded__C C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_ipc_Ipc_Module__diagsMask__C C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_ipc_Ipc_Module__id__C C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_ipc_Ipc_Module__state__V C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_ipc_Ipc_numUserFxns__C C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_ipc_Ipc_procSync__C C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_ipc_Ipc_userFxns__C C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_ipc_MessageQ_SetupTransportProxy_attach__E C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_ipc_MessageQ_SetupTransportProxy_isRegistered__E C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_ipc_MessageQ_SetupTransportProxy_sharedMemReq__E C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_ipc_SharedRegion_A_addrOutOfRange__C C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_ipc_SharedRegion_A_idTooLarge__C C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_ipc_SharedRegion_A_regionInvalid__C C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_ipc_SharedRegion_INVALIDSRPTR__C C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_ipc_SharedRegion_Module__diagsEnabled__C C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_ipc_SharedRegion_Module__diagsIncluded__C C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_ipc_SharedRegion_Module__diagsMask__C C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_ipc_SharedRegion_Module__id__C C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_ipc_SharedRegion_Module__state__V C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_ipc_SharedRegion_attach__E C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_ipc_SharedRegion_numEntries__C C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_ipc_SharedRegion_numOffsetBits__C C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_ipc_SharedRegion_offsetMask__C C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_ipc_SharedRegion_translate__C C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_utils_NameServer_A_invArgument__C C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_utils_NameServer_Module__diagsEnabled__C C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_utils_NameServer_Module__diagsIncluded__C C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_utils_NameServer_Module__diagsMask__C C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_utils_NameServer_Module__id__C C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_utils_NameServer_Module__state__V C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_utils_NameServer_SetupProxy_attach__E C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

    _ti_sdo_utils_NameServer_SetupProxy_sharedMemReq__E C:\ti\ipc_1_24_02_27\packages\ti\sdo\ipc\lib\instrumented_674\ipc\ipc.lib<Ipc.obj>

  • Iain,

    I’ve asked internally and we haven’t been able to recreate the issue with naming of the output file.  One thing to try: can you do a “Clean Project” and then build again and see if you still have the issue?

    It is possible this may resolve the link errors too - please let us know...

    Also, are you running CCS on Windows?  If so, which version?

    Thanks,
    Scott

  • Scott,

    "Clean Project" doesn't solve the problem. I have done this many times.

    I am running CCS on Windows 7.

    The irony of this situation is that I decided to migrate to SYS/BIOS on the advice of one of your colleagues because of unreliability with RTA on DSP/BIOS.

    I was assured that this migration would be pain free!

    Regards Iain

  • Hi Iain,

    Could you post your .cproject file?  

    Thanks,

    - Baltasar

  • Hi Baltasar,

    .cproject file as requested.

    Regards Iain

    .cproject.pjt
  • Hi Iain,

    Could you also send me your <workspace>/.metadata/.log file?

    Also, just FYI, in the project Properties dialog, if you click on the Show advanced settings link at the bottom, then go to the C/C++ Build > Settings > Build Artifact page, you will see your output-file name broken down into the Artifact name and Artifact extension fields.  These are the two fields that combine to override your linker output-file setting.  Normally, when you change the linker output-flie setting, the Artifact name and Artifact extension fields are automatically synchronized to reflect the same file name.  For some reason, in your project, the synchronization failed.  It could be because you are migrating a legacy project.

    You could try a couple of things:

    1. Modify your linker output-file field again, and click OK. Then reopen the dialog and see if the Artifact name and Artifact extension fields have been synchronized to reflect the same value.
    2. If they haven't been synchronized, try to change these two fields manually to match your value.
    3. Then send me the <workspace>/.metadata/.log file.
    Thanks,
    - Baltasar
  • Hi Baltasar,

    I changed the Artifact name and Artifact extension in the Build Artifact page and saved the properties. That has fixed the problem.

    Thanks for that.

    Regards Iain