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.

CCS/IWR6843: Carry out angle of arrival estimation placement in the SDK code.

Part Number: IWR6843
Other Parts Discussed in Thread: IWR1443, MMWAVEICBOOST,

Tool/software: Code Composer Studio

Our customer is working with IWR6843 and they need to do same changes in mmWave demo code.

The structure of code of mmWave demo for IWR6843 is different from mmWave demo code for IWR1443.

They ask to identify place in the code where is carry out angle of arrival estimation.

( file:///C:/ti/mmwave_sdk_03_01_00_02/packages/ti/datapath/dpc/dpu/aoaproc/docs/doxygen/html/index.html ).

Thank you for your help

Stefan

  • Hi Stefan,

    SDK 3.0 introduces the new scalable architecture which is based on the concepts of DPC (Data Processing Chain) and DPUs (Data Processing Units) which encapsulate the different components of an mmWave processing chain with well defined data interface (DPIF) between the DPUs and with the outside world. Please look at the mmWave SDK user guide for more details on the new architecture.

    The angle of arrival processing in the mmw demo is implemented by the AoA DPU inside the file C:\ti\mmwave_sdk_03_01_01_02\packages\ti\datapath\dpc\dpu\aoaproc\src\aoaprochwa.c

    The call sequence is given below:

    DPC_ObjectDetection_execute()  [Top level DPC function: <SDK_install_dir>\packages\ti\datapath\dpc\objectdetection\objdethwa\src\objectdetection.c]

    |--->DPU_AoAProcHWA_process() [AoA DPU function: <SDK_install_dir>\packages\ti\datapath\dpc\dpu\aoaproc\src\aoaprochwa.c]

    Please mark the thread resolved if this answers your query otherwise get back if more support is needed.

    Thanks

    -Nitin

  • Hi Nitin.

    Thank you for your answer.

    It is not able to debug these functions or any other function in objectdetection.c file.

    However debug works normally in main.c or in other files.

    Is there some procedure how to enable debug function for these functions in objectdetection.c file, please?

    I am using CSS 8.3.0 with default settings and MMWAVEICBOOST board with IWR6843ISK module.

    Thank you for your feedback.

    Best regards

    Stefan

  • Hi Stefan,

    Each DPUs is compiled as a separate library (.aer4f) and the default compilation options in SDK enable O3 optimization which is the reason you are not able to do statement level debugging for the DPU functions called from objectdetection.c.

    Here's how you can enable debugging for the individual DPUs:

    1. The various DPU libs are included in the demo makefile mmw.mak as shown below. You will need to re-compile each lib that you want to debug without O3 optimization. 

    -i$(MMWAVE_SDK_INSTALL_PATH)/ti/datapath/dpu/rangeproc/lib \
    -i$(MMWAVE_SDK_INSTALL_PATH)/ti/datapath/dpc/dpu/dopplerproc/lib \
    -i$(MMWAVE_SDK_INSTALL_PATH)/ti/datapath/dpc/dpu/cfarcaproc/lib \
    -i$(MMWAVE_SDK_INSTALL_PATH)/ti/datapath/dpc/dpu/aoaproc/lib \
    -i$(MMWAVE_SDK_INSTALL_PATH)/ti/datapath/dpc/dpu/staticclutterproc/lib \

    2. Disable O3 optimization in C:\ti\mmwave_sdk_03_01_01_02\packages\ti\common\mmwave_sdk.mak under R4F_CFLAGS. Note that these options apply to all demos, libs compiled with the SDK. Also, you may run into linker placement errors as removing optimization causes the code size to increase. So you may want to enable them one component at a time. Change the -O3 flag to -O0 in R4RF_CFLAGS define.

    # Compiler flags used for the R4 Builds:
    R4F_CFLAGS = -mv7R4 --code_state=16 --float_support=VFPv3D16 --abi=eabi -me \
    --define=SUBSYS_MSS --define=$(PLATFORM_DEFINE) \
    --define=_LITTLE_ENDIAN --define=DebugP_ASSERT_ENABLED $(R4F_INCLUDE) \
    -g -O3 -display_error_number --diag_warning=225 --diag_wrap=off \
    --little_endian --preproc_with_compile --gen_func_subsections \
    --emit_warnings_as_errors $(R4F_CFLAGS_ENUM_TYPE)

    3. Follow the SDK build instructions to recompile the libs you want to enable debug for. (You should back-up the existing libs to avoid re-compiling with optimization when needed). For instance, the AOA DPU is under C:\ti\mmwave_sdk_03_01_01_02\packages\ti\datapath\dpc\dpu\aoaproc\makefile.

    To recompile the lib:

    3.1: Run setenv.bat script under C:\ti\mmwave_sdk_03_01_01_02\packages\scripts\windows to setup the build environment

    3.2: call gmake in the dpu directory. This will generate libaoaproc_hwa_xwr68xx.aer4f

    Follow step 3.2 for each lib that you want to re-compile

    4. Re-build the mmw demo by calling gmake under C:\ti\mmwave_sdk_03_01_01_02\packages\ti\demo\xwr68xx\mmw folder. Or you can also use the CCS project and instructions provided in the 68xx SDK demo lab on TI resource explorer:

    http://dev.ti.com/tirex/#/?link=Software%2FmmWave%20Sensors%2FIndustrial%20Toolbox%2FLabs%2FmmWave%20SDK%20Demo

    Thanks

    -Nitin