GlobalTimer: add support for starting timer with interrupt #108
Loading…
Reference in New Issue
No description provided.
Delete Branch "morgan/zynq-rs:master"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
add
start_with_interrupt
for GlobalTimerrefactor mpcore
comp_enable
typoicdicer
register into an array to make register control easieradd support for disabling individual interrupt
add GlobalTimer interrupt test to experiment for core0
Compilation check
nix build <variant>
for szl, coraz7-experiments, zc706-experiments and kasli_soc-experiments. All compiled without warningNew experiment log
@ -43,1 +87,4 @@
);
}
fn get_prescalar() -> u32 {
prescaler
Why would WRPLL need the timer?
It's for WRPLL interrupt service routine, so the main&helper PLL will run periodically using the timer interrupt instead of using
timer.delay_us()
and blocking the core.Does it have to run precisely with exact intervals? You can have a thread with
timer.countdown()
anddelay(..).await
that yields and does not block the core. Although if the code PLL code would be short, doing it with interrupts seems like a good idea, since it would be less overhead than threads.Misclicked closed for cancel comments
AFAICT yes. The WRPLL loop would run in the background using the interrupt service routine.
Shouldn't they be triggered instead from "DDMTD measurement completed" interrupts from the gateware?
Yes that will actually improve the tracking performance for the PLLs, closing.
Pull request closed