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.

MSPM0G3507: How to resolve Object File Linking Issue in CCS IDE for MSPM0G3507

Part Number: MSPM0G3507
Other Parts Discussed in Thread: CC2564MODNEM, , CC2564

Hello Team,

I am working on porting CC2564MODNEM code to make compatible and work on MSPM0G3507 LP.  I have taken the porting documentation reference that I received from the community itself. I know this porting is very challenging but I have to do. Currently, I have started for just making it work for A3DP audio profile. Hardware MSPM0G3507 is connected with CC2564MODNEM via CC EM BOOST ADAPTER. I understood this communication can be done via UART with Hardware flow control so I used 4 pins such as UART RX, TX,CTS, RTS. To make this work, I have started taking the example code from TM4C129X board and adapting the A3Dp sample code for MSPM0G3507 board by learning the technical reference manual of MSPM0G3507 board and assigning the proper UART registers for the same. 

Now the problem is, 

1. you can see the screen shot, I m encountering issues called 

Description Resource Path Location Type
unresolved symbol AVCTP_Cleanup, first referenced in J:/CCS/Bluetopia2/SS1BTAUD_FP.lib<AUD.o> uart_tx_hw_flow_control_LP_MSPM0G3507_nortos_ticlang C/C++ Problem

How to link those files in the project? Those errors are functions which is used by A3DP source file and calling them indirectly.I have added those header files location in the include options but still the error is appearing. 

Kindly address this

  • Do you know where those symbols (objects) are?

    You probably just need to add a library and/or path to "Build Settings->Build->Arm Linker->File Search Path".

  • I will explain how i linked those files in the project.

    This is the linker file. There, BLUETOPIA2 variable contains the location of those files which contains the functions that is come as error in the build as "first referenced in A3DPSrcDemo.o


    Here the location of the files in browser, here, AUDAPI.h file is there, for example, this file contains those functions. 

  • Those .h files contain declarations for the functions, but not the (object) code for them. To get the code you would need to either build some source code or find a library (.lib) containing them. 

    I installed the Tiva version, and I found source code for some of the profiles, but not for AVCTP. I found AVCTP libraries in:

    C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\Bluetopia\profiles\avctp\lib\ccs

    though given that the folder is named "Cortex_M4" I expect those libraries were built for the Cortex-M4 (Tiva), not the Cortex-M0+ (MSPM0), and there are notable differences between the two. I suppose you could just try one of them to see if this is the right path to follow (I suspect "xFP" means Floating Point, so you should probably avoid those).

    Do you have the source code for AVCTP somewhere? What is in the Objects folder?

    More generally: I am not familiar with this device nor this code. You may get better answers in the Bluetooth Forum:

    https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum

  • Hi Beyond,

    It seems that this project calls some link library files, which need to be added to Arm Linker->file search->include file. Judging from the screenshot, you seem not to call other additional libraries.

    I recommend you open the project of the CC2564MODNEM which can be compiled through, and check what's its include setting, and then do modification of this G3507 project.

    B.R.

    Sal

  • I understood that libraries are built for cortex M4. Now I need to build for MSPM0. How to build those for my board? I thought CCS will build if i add respective source files and header files ( if copied in project folder itself) and Also add Files include path in project configuratuion

  • I have added all source files location in the project folder. In fact, I have added source files as " Add files" option in the project folder for both source files an header files. But still getting the error like as shown above

    Kindly help to which approach can we debug this? If you ask me to share something about my project as screenshot or project source file in step by step manner. I would like to

  • I skimmed the .lib files, and it appears that those symbols are all provided in a (single) source file named "avctp.c". I did not find a file by that name in the Bluetopia tree. You won't succeed in building a new .lib without it.

    Your screenshot mentioned avctp symbols, but that was only 8 of the 128 build errors, so I suspect you will encounter this with other libraries as well.

    This Forum item (3 years old) says that the source for the Bluetopia "stack" is not available. There are certainly .c files in the tree, so I don't know what the "stack" proper is. It's also possible the licensing has changed since then.

    https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/959848/ccs-cc2564moda-bluetopia

    That said: Did you try linking with the library I mentioned, the one for the Cortex-M4? I'm not optimistic about the results, but you may find out something. If necessary, add the full library pathname to the top ("--library") box.

  • Hi Beyond,

    Acutally, Bruce gives the details description of the linker lib, you should have a .lib with .h file, or full .c file with .h file to successfully build the project without symbol error.

    Moved this thread to bluetooth team responsible org to let the ble team give further comments on the library you asked. I also suggest you file a new thread there and post the link of this issue, in case the incorrect forum will be missed by ble team.

  • Hello Beyond,

    When you first mentioned about porting to the MSPM0 I hadnt even considered the library implications. Unfortunately the Bluetopia source code is not available to be shared due to licensing. This means the only way forward with your project would be to use another Bluetooth stack that would be open source.

    Best,

    Rogelio

  • Can it be shared privately? Because, we picked up this MSPM0G3507 due to the presence of DAC , ADC and we bought boost EM adapter to connect CC2564MODNEM and MSPM0. It is for developing HFP and A2DP audio applications. License can also be come with board right. We bought CC2564 modnem but the listed MCU boards mentioned in website are currently obsolete (TM4C129, MSP430 ..) we could not buy those. Could you help us here for developing such things? We are in need of correct bluetopia files to port for those.