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.

[FAQ] Software related queries based on mmWave SDK

Mastermind 36855 points

Replies: 2

Views: 386

Here is a list of queries based on mmWave SDK (SW)


Q1. How to create a new mmwave sensor project from scratch [Project0]?

Answer: Please refer this thread-


Q2. How to find root-cause if a device goes into fault at DSS/BSS end OR how to find if a device is in fault/bad state?

       How to decode the error value mmWave library throws at the application level?

Answer: mmw demo from mmWave SDK checks application status or return values of a function to find out device health and goes into ASSERT if something wrong. Error at DSS is communicated to MSS which says the source code line no. for user to find out root cause.

If BSS goes into some error state or fault then it sends CPU/ESM/Analog Fault asynchronous event [RL_RF_AE_CPUFAULT_SB, RL_RF_AE_ESMFAULT_SB, RL_RF_AE_ANALOG_FAULT_SB] to MSS, MSS application needs to handle these fault. Most of the time recovery from these faults is to reset the device. It can be done by an external processor (notify over nError-out), internal Watchdog, External Watchdog.

At most of the error points, mmw demo sets errCode from the function (like mmwave library) which contains the cause of error.

[bit 31:16] - mmWave Error : MMWAVE_EINVAL to MMWAVE_EINVALIDCALMONUNIT (mmwave.h)

[bit 15:2] - sub system Error : It can be from DSS or BSS, For BSS error codes are defined in mmwavelink.h 'RL_RET_CODE_***'

[bit 1:0] - error level : MMWave_ErrorLevel

 Q3. How to send custom user data or intermediate FFT processing data over LVDS?

Answer: Refer related threads-

Q4. How much time does SBL take to boot up and time to switch to the application?

Answer: Boot up time of SBL depends on the size of SBL image which PBL (primary bootloader) takes to copy content from sFlash to RAM. Default SBL in the SDK takes around 35msec to bootup (measured from nRST: device reset) and SBL to application (mmw demo from SDK 2.1) boot takes around 65mSec. Again these two times vary based on image size.

Here is similar e2e thread


Q5. What is the format of the data mmw demo sends out over UART?

Format of object data out from application may differ based on SDK version and for different application. These links will explain the basic format of that, most of TI-Rex application provides output data format in their user/developer user guide document.

Even after this you don't find exact output format of any of mmwave sensor application, then you need to dive into source code. DSS generates the object data packet, copies to HSRAM and sends to MSS which further sends it over UART/CAN interface. Look for function having string 'sendProcessOutputToMSS' or 'sendResult' in dss_main.c (most of the application uses similar function name), now you can backtrace to find the packet format.


Q6. Implement the watchdog feature with mmw demo application

Answer: At this thread, code snippet is provided to implement the watchdog feature to mmw demo-


Q7. How to get input from CCS console?

Answer: Many of times while application development, we need to take input from CCS GUI only. Refer these threads to do that:

Q8. How to add sFlash feature in the mmw demo or any other mmwave application?

Please refer this application note-

Q9. How do I reset the device from the application itself?

You can use the internal watchdog feature to reset the device, refer this thread to implement the watchdog in the application.

Other option by directly writing a register to force a Warm Reset to the device.

/* topRCM->SOFTSYSRST */ uint32_t* regAddr = (uint32_t*)0xFFFFE11C; *regAddr = 0xAD;




Please check TI mmWave FAQs before posting a new query

2 Replies

  • Q10. How to find out last reset cause of the device?

    Answer: Please refer this thread

    Q11. How to interrupt/notify MSS from DSS without using Mailbox?

    Answer: Please refer this thread


    Q12. What is MetaImage format, why do we need this and how to create this file?

    Answer: mmWave sensor requires an application binary file to be in MetaImage format. Image_Creator_User_Guide.pdf from mmWave SDK (C:\ti\<mmWave SDK>\packages\scripts\ImageCreator) explains the MetaImage format in detail.

    SDK provides the tool to generate the MetaImage file which combines MSS, DSS and BSS firmware in it. mmw demo makefile does this part and CCS project for TI-Rex application does this part as post-build steps (MSS CCS project properties->Build->Steps->Post-build steps).

    Q13: How to bypass CLI option in the mmwave application so that my application start giving object result as soon as it booted up?

    Answer: Many of TI-Rex application provides this option where it uses inbuilt configuration and doesn't rely on UART/CLI command from the user.

    Please refer to this link for one of the references.

    Q14: Can I load firmware to AWR1642/AWR1843 device over SPI if sFlash is not connected with it?

    Answer: AWR1642/AWR1843 device supports loading the firmware (application MetaImage) over SPI. Device switch to SPI boot mode only if it doesn't detect the sFlash connection with it. Please refer this app-note (section 2.2).

    This thread discuss the steps to load the firmware to AWR device over SPI.


    Q15. Where can I find CCS project for mmwave SDK mmw demo?

    Please refer these links-




    Please check TI mmWave FAQs before posting a new query

  • In reply to Jitendra Gupta:

    Hi Jitendra,

    Thank you for posting this!



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.