Adding the fsl_hwtimer using Processor Expert causes all MQX tasks to stop running accept Idle

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Adding the fsl_hwtimer using Processor Expert causes all MQX tasks to stop running accept Idle

Jump to solution
615 Views
jmaranhao1
Contributor I

I have KDS v3.0.0 with KDSK 1.2.0 installed on my environment.  I created a simple projeck for the FRDM-KL43Z demo board.  This project has MQX (full) and some GPIO functionality enabled to control the LEDs on the board.  A simple task is created to blink the LEDs on the board with the OSA_TimeDelay set to 100ms.  Everything is built using Processor Expert to generate the source code. 

 

This project runs on the debugger (USB Multilink Embedded OSBDM/OSJTAG - USB Port) fine until I attempt to add the fsl_hwtimer peripheral driver.  The HW Timer period is set to 1000uS, everything else on the Processor Expert configuration settings for the HW Timer peripheral is not changed from defaults.  The new code is generated using the 'Generate' button and recompiled for the project.  The debugger is launched with a breakpoint set in the Blink LED task as before.  Running the debugger appears to work fine and hits the breakpoint in the Blink LED task.  Running the debugger again never returns back to the Blink LED task nor doesn't stop at the breakpoint.  After pausing the debugger, it is running in the Idle task only.  The Main task and Blink LED tasks are not running.

 

I verified this by removing the fsl_hwtimer from the Components list in Processor Expert tab, rebuild, recompile, and debug then running to see that the breakpoint set in the Blink LED task is hitting every time after running.

Labels (1)
0 Kudos
1 Solution
407 Views
jmaranhao1
Contributor I

I solved my own problem...

MQX uses the systick timer, so that is why the tasks weren't running.  To fix it, the new hardware timer has to use the PIT timer to not conflict.

View solution in original post

0 Kudos
1 Reply
408 Views
jmaranhao1
Contributor I

I solved my own problem...

MQX uses the systick timer, so that is why the tasks weren't running.  To fix it, the new hardware timer has to use the PIT timer to not conflict.

0 Kudos