We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello Guys,
Please refer below attached image. as shown in this image i want to measure the different latencies in my Trustzone based application.
Here is the list of measurements which i want to perform.
1) FIQ latency when RTOS runs and FIQ occurs ( Refer path (1) in below figure)
2) FIQ latency when GPOS( non - trust OS ) runs and FIQ occurs ( Refer path (2) in below figure)
3) IRQ latency when GPOS ( non - trust OS ) runs ans IRQ occurs ( Refer path(3) ) in below figure )
4) Switching latency between secure and non secure state. ( path 4-5 in image )
Measuring 3rd and 4th measurement looks possible but for 1st and 2nd measurement i am not able to figure out how to find if FIQ occurred in GPOS or RTOS execution.
is there any way in arm ( through any register) that i can find out if FIQ occurred while GPOS was executing or it occurred while RTOS was executing,
any suggestion or pointers are very much appreciated.
Regards,
Ashwin
Which core? v7-A or 8-A?Anyway, context switching is very much dominated by saveing and restoring the registers. This includes the core registers, FPU/NEON registers and some others which are not shadowed. And this adds to the FIQ latency if the non-secure software runs.
core is v7-A, Cortex-a7.
i got your point but how to check if FIQ occurred while GPOS is executing or it occurred while RTOS was executing? is there any register in v7-A?
Do you control both sides? If so you can generate an interrupt for the the secure side whilest running in normal world.