Here's a Wokwi simulation with a non-blocking software pulse generator function and a non-blocking software frequency measuring function, along with FreqCount (FreqMeasure does not work in Wokwi)
The software functions seem to work up to about 20kHz on an Uno before they begin to interfere with each other.
