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.

CC1352P7: Exception debug: Exception Call Stack usage with ROV

Part Number: CC1352P7
Other Parts Discussed in Thread: SYSBIOS

Tool/software:

Hello, 

I am developing a proprietary RF network, and am currently using the following SDK "simplelink_cc13xx_cc26xx_sdk_7_10_01_24".  My firmware keeps hitting a Hard Fault caused by the INVSTATE fault from the ARM core.  Looking at the ROV I see the following exception information.

Looking at the LR register it appears to trace back to the ti_sysbios_knl_Swi_post function as shown.

I want to try an trace this farther, but the HWI: Exception Call Stack is not giving any information.  I am not sure why this is happening.  You can see the error in the following image.

If you have some information as to why this error is occurring and any ideas as to what could be checked to help narrow down this problem, it would be appreciated.

Best,

Josh

  • Hi Josh,

    Sorry for the delay, I will be looking at it today.

    Regards,

    Arthur

  • Hi Joshua,

    I have been through your screenshots, and now I wonder you have ran an error check using the ROV Bios Module.

    Is there any info there? Also, what drivers or modules are you using?

    Regards,

    Arthur

  • I haven't tried that yet.  I will work on capturing the fault and run the error check on the BIOS Module.

    The drivers I am using include:

    RF, I2c, UART2, ADC, GPIO,  NVS, SD,  SPI, SHA2, Watchdog, Power.

    The Modules I am using include:

    Task, Clock, Event, Semaphore, Seconds, GateHwi.

    For context, this error occurs whenever I try to remove a task that uses the UART and manages incoming and outgoing data from the UART.  If I keep the UART task in place the error does not occur.  I removed the UART Task because our circuit will not hit the lowest sleep current with the UART enabled.

    Thanks Again,

    Josh

  • Hi Joshua,

    While you are checking the BIOS Module out, consider that you can also simply disable the UART reception using the UART2_rxDisable API call.

    This will disable the RX buffers, and allow the device to go into standby.

    Regards,

    Arthur

  • Thanks,  I will also try that.

  • Hello Arthur,

    I ran the error check with the ROV Bios Module.  It points to an error with the hwi module.  The ROV HWI module does indeed show there is an exception as shown.

    I would like to be able to determine the calling function but still have an error on the ROV HWI Exception Call Stack as shown.

    Any more suggestions on how to trace this further?

    Thanks,

    Josh

  • Hi Joshua,

    Is it still happening when you kill the task?

    I need some more time to see how you could trace it further, but right now, I suspect that when you are stopping the task, you are not closing the UART2 driver. It will then likely crash upon restart of the task.

    Regards,

    Arthur

  • I am not killing the task, but never initializing the task and never restarting it either.

    Best,

    Josh

  • Hi Joshua,

    Do you have a way to share a trimmed out snippet on the post? If you would rather send it privately, you can send me a direct message.

    Regards,

    Arthur

  • Hello Arthur,

    Sorry for the delayed response, been out for a week.  

    I was able to isolate the problem to having the power domain in low power mode as causing the problem while using the I2C driver.  Whenever the UART stayed powered it kept the I2C working correctly, but even if I disabled the UART Receive and all the other UART setup was kept in place the failure would happen.  But using "Power_disablePolicy" to keep the domain powered until after the I2C write has seemed to correct the problem.

    Do you have any idea why the Hwi: Exception call stack was unavailable when using ROV to try and diagnose this problem?

    Thanks,

    Josh

  • Hi Joshua,

    From what I can gather, it seems like this ROV feature was working in TI-RTOS6, but not in TI-RTOS7.

    If you want to me to investigate further, I could use a code snippet that reproduces the issue.

    Regards,

    Arthur