We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Showing results for 
Search instead for 
Did you mean: 
Registered: ‎05-09-2019

FreeRTOS tick handler on rpu0 just called once?

I'm using XSDK and PetaLinux 2019.1 and a ZCU102 (i.e. ZynqMP) board.

My test system is very close to the Xilinx matrix multiplication demo. I made the following changes:

  • Rebuild Linux after adding '/include/ "openamp.dtsi"' to system-user.dtsi & adding that file to BitBake, and adding the "openamp" feature in "petalinux-config -c rootfs".
  • Rebuild the FreeRTOS matrix multiplcation demo with the following changes:
    • Counters for how many times FreeRTOS_Tick_Handler and FreeRTOS_SetupTickInterrupt are called. It looks like FreeRTOS_Tick_Handler is only ever  called once. I've also confimed that FreeRTOS_SetupTickInterrupt is called.
    • In a separate test, I added a sequence like "LPRINTF(...); vTaskDelay(pdMS_TO_TICKS(...)); LPRINTF(...);". Only the first message appeared.

Note that the IPI interrupt works, I'm able to pass rpmsg messages no problem.

Following forum posts 1 & 2, I added a call to XScuGit_InterruptMaptoCpu for the tick IRQ too. I also confirmed that clk_ignore_unused is in the bootargs. And tried modifying system.mss to use both TTC0 & TTC3. None of these fixed the problem.

Is there something obvious l've missed? Tick interrupts seem like a fairly basic feature.

0 Kudos