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 28905 points

Replies: 2

Views: 119

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- https://e2e.ti.com/support/tools/ccs/f/81/t/836333

 

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-

https://e2e.ti.com/support/sensors/f/1023/p/758435/2803488

https://e2e.ti.com/support/sensors/f/1023/t/759979

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 https://e2e.ti.com/support/sensors/f/1023/p/767876/2838860#2838860

 

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.

https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/1023/mmw-Demo-Data-Structure_5F00_8_5F00_16.pdf

https://e2e.ti.com/support/sensors/f/1023/t/753460

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-

https://e2e.ti.com/support/tools/ccs/f/81/p/835932/3091964#3091964

 

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:

https://e2e.ti.com/support/sensors/f/1023/p/838177/3099822#3099822

https://e2e.ti.com/support/microcontrollers/msp430/f/166/t/439318?Scanf-in-CCS-for-MSP430

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

Please refer this application note- http://www.ti.com/lit/an/swra583/swra583.pdf

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;

 

 

2 Replies

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

    Answer: Please refer this thread https://e2e.ti.com/support/sensors/f/1023/p/850397/3145675#3145675

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

    Answer: Please refer this thread https://e2e.ti.com/support/sensors/f/1023/p/799526/2964762#2964762

     

    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.

  • In reply to Jitendra Gupta:

    Hi Jitendra,

    Thank you for posting this!

    Cheers,

    Akash

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.