UPGRADE YOUR BROWSER

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!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
117 Views
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