Skip to main content
SMane.1
Associate
March 4, 2021
Question

We Initialized BLE and FreeRTOS CMSIS_V2 from the .ioc configuration in the CubeIDE. But RTOS tasks are not executing.

  • March 4, 2021
  • 3 replies
  • 1081 views

I put breakpoints, but only up to following line

"configASSERT( ucCurrentPriority >= ucMaxSysCallPriority );"

in this function "vPortValidateInterruptPriority( void )" I was able to debug.

This topic has been closed for replies.

3 replies

KnarfB
Super User
March 4, 2021

You gave a very brief error description. Looks like you are calling a FreeRTOS function from an interrupt handler of high priority. The max. allowed prio can be configured in FreeRTOS.

SMane.1
SMane.1Author
Associate
March 17, 2021

0693W000008x87yQAA.pngThanks for reply @KnarfB​  We just configured all peripherals, BLE, RTOS with single default task with priority of "osPriorityNormal" which is 24. We found three more RTOS tasks in auto generated code itself.

1. "HrsProcess()" which is in hrs_app.c with priority of "osPriorityNone" which is 0.

1. "HciUserEvtProcess()" which is in app_ble.c with priority of "osPriorityNone" which is 0.

1. "AdvUpdateProcess()" which is in app_ble.c with priority of "osPriorityNone" which is 0.

please find the image, I attached all active Interrupt's priorities.

SMane.1
SMane.1Author
Associate
March 19, 2021

We tried to run the sample code present in package "BLE_HeartRateFreeRTOS". We are able to observe the output without changing anything, but we are not able to debug. Then changed "CFG_DEBUGGER_SUPPORTED" this micro to 1 , now I am able to debug up to some point and then the pc goes on address 0x58001400 which is out of reach actually, but from where it is getting that value in pc don't know. And we observe that the task switching also not going on properly. I just changed micro to 1 , no other changed I did.