logoalt Hacker News

Neywinyyesterday at 3:35 AM2 repliesview on HN

I think I get it. I've tried microblaze-v for a while now. And just look at their interrupt handler. https://github.com/Xilinx/embeddedsw/blob/master/lib/bsp/sta... . With the FPU enabled at compile time, that's > 128 memory ops per interrupt. That's insane, especially without an NVIC and chaining and all that. My latency was astronomical, and my maximum interrupt frequency was pitiful. Ended up doing the work (sw and hardware options) to get it to operate more like arm-m, but arm-m doesn't need that work to be done. NVIC is always NVIC, and NVIC is good


Replies

wren6991yesterday at 6:14 PM

Yeah, this is a bug. They should only be saving the FP state if it's dirty.

Also this is one of the reasons I think Zfinx is a better option for embedded (i.e., the standard FP instructions operate on x registers instead of f registers): 31 registers is plenty to hold a mixture of integer and floating-point values, and you avoid the worst-case context save penalty.

show 1 reply
mycallyesterday at 7:54 PM

You can bypass AMD's heavy BSP abstractions according to gpt.

show 1 reply