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.

AWR2944EVM: Adding external source directories to CCS12 workspace (like in CCS20)

Part Number: AWR2944EVM
Other Parts Discussed in Thread: AWR2944

Tool/software:

I am working on the DDM demo for the AWR2944EVM in CCS12. The demo obviously uses many other directories from the mcu_plus_sdk that aren't within the out_of_the_box_2944_mss and out_of_the_box_2944_dss directories imported into the workspace by the .projectspec files.

Right now I am adding clustering to the demo and so I would like to have the directory "C:\ti\mmwave_mcuplus_sdk_04_07_00_01\mmwave_mcuplus_sdk_04_07_00_01\ti\alg\mmwavelib\src\detection" in my workspace for easy access and navigation of that source. 

In CCS20 there is a button called "Add folder to workspace" which imports a folder as a standalone into the workspaces root, I wonder how can I do the same in CCS12, I tried the following:

  • File -> Import -> General ->File system: But CCS forces me to import into an existing project directory, which clutters things and could mess building.
  • File -> Import -> CCS -> CCS Project: Doesn’t work because these algorithm directories aren't standalone CCS projects

If possible, I would like to have a layout like the one shown in the screenshot. If that's not feasible, what would you recommend for working with or viewing external source code?

  • Hi,

    We usually recommend using CCS project specs in order to work with CCS. 

    There is a project spec provided for the 2944 HECR demo that you can modify to add the desired folder.

    In the project spec you can decide if you want the folder to be copied to the workspace when the project is created or if you want to work on the original folder without being copied.

    thank you
    Cesar

  • Hi,

    I have found the HECR (High End Corner Radar) demo in my installation under this directory: C:\ti\radar_toolbox_2_20_00_05\source\ti\examples\ADAS\high_end_corner_radar. Form what I see this demo already has both clustering and tracking implemented which is nice. 

    However upon importing it the dss fails to build (I have build it first as in the OOB demo this is the way to do it). From what I see the the errors revolve around failing to locate some includes, please take a look at the terminal output:

    "..\datapath\dpc\objdethwaDDMA\src\../include/objectdetectioninternal.h", line 352: fatal error #1965: cannot open source file "ti/control/mmwavelink/mmwavelink.h"
    1 catastrophic error detected in the compilation of "../datapath/dpc/objdethwaDDMA/src/objectdetection.c".
    Compilation terminated.
    gmake[1]: *** [datapath/dpc/objdethwaDDMA/src/objectdetection.obj] Error 1

    "..\demo\dss\mmw_dss.h", line 72: fatal error #1965: cannot open source file "ti/control/mmwavelink/mmwavelink.h"
    1 catastrophic error detected in the compilation of "../demo/dss/data_path.c".
    Compilation terminated.
    gmake[1]: *** [demo/dss/data_path.obj] Error 1


    "C:/Users/mmpas/AWR2944EVM_HECR/awr2944_corner_radar_dss/dss/dssgenerated/ti_drivers_config.c", line 292: error #29: expected an expression
    1 error detected in the compilation of "C:/Users/mmpas/AWR2944EVM_HECR/awr2944_corner_radar_dss/dss/dssgenerated/ti_drivers_config.c".
    gmake[1]: *** [dss/dssgenerated/ti_drivers_config.obj] Error 1

    "C:/ti/mmwave_mcuplus_sdk_04_07_00_01/mmwave_mcuplus_sdk_04_07_00_01/ti/control/mmwave/mmwave.h", line 48: fatal error #1965: cannot open source file "ti/control/mmwavelink/mmwavelink.h"

    gmake[1]: *** [demo/dss/dss_main.obj] Error 1

    gmake[1]: Target 'main-build' not remade because of errors.
    gmake: *** [all] Error 2

    Concerning this error: ""cannot open source file "ti/control/mmwavelink/mmwavelink.h"", I have looked into this directory "C:\ti\radar_toolbox_2_20_00_05\source\ti", in which there is no folder called "control" I am not sure if this is where the builder looks for these files but I would assume so.

    Either way I would greatly appreciate your help in:

    • Resolving the mentioned build issue.
    • Stating which radar toolbox I should use for the AWR2944EVM's HECR, since the newer radar_toolbox_3_10_00_05 does not have this demo in it.

    Best regards,

    Mark

  • Hello,

    So for this radar toolbox it's likely that the projectspec file does not work for the HECR demo. But, for the next radar toolbox release 3.20 (scheduled for next week) they will be working. I recommend waiting next week for this release. 

    Best,

    Gabriel

  • Hi Gabriel,

    Thank you for your reply. In that case, I’ll be waiting for the (hopefully) swift release!

    That said, I expect the new demo will look the same upon import as the current one - just with the difference that it will build properly. However, still I would like to know what is the best practice for importing or linking any external directory into a CCS project.

    For example, let’s say I want to add clustering to the basic OOB demo (though I’m aware it’s already implemented in the HECR). How can I view and, if necessary, modify the clustering code located under this SDK path: C:\ti\mmwave_mcuplus_sdk_04_07_00_01\ti\alg\mmwavelib\src\detection within my workspace?

    This file is not included in my CCS project as generated by the .projectspec file. What’s the recommended way to bring such files into the workspace in CCS?

    P.S. Of course, I could view/modify it in something like VSCode, but that would lack all the proper path and symbol references from the CCS environment.

    Best regards,
    Mark

  • Hello,

    One way you can do this is my modifying the projectspec file directly. Navigate to the bottom of the projectspec as shown

    Here you can add .c files that you want direct visibility into. A lot of time these files will be under libraries where yes they are more difficult to access even though they are still being used. Just add the .c files you want to see and then you should have a better time editing and building these files.

    Best,

    Gabriel

  • Hi Gabriel,

    Thank you for your swift reply - as always, very helpful!

    One more question regarding this: should I leave action="copy" for the file I’m adding, or would you recommend using action="link" instead?

    My concern is that if I copy file X into my workspace, the makefiles will still reference the file in its original/default location, and therefore not pick up any changes I make, is that correct?

    Best regards,
    Mark

  • I recommend "copy" because it will then copy your file into your project from its location, but the actual source file won't be changed. I say this because in case you want to work with the OOB demo again then those changes won't be saved at the source and won't cause future issues. But if you're only changing one file or something or want the actual source file to be edited then you can use "link." It's more a preference it won't cause the projectspec not to work.

    Best,

    Gabriel