Semihosting is handy for debugging, so allow the core to use `SerialSemi` as the
::printf port. Add menu item to the IDE to allow selection.
Add RISC-V implementation of semihost call
Enable ARM-only semihosting mode. This mode allows applications on the
Pico to write to the OpenOCD console and read and write files on the
host system (i.e. debugging dump information, etc.)
It is not very fast because of the way it uses breakpoints on the Pico
to communicate, but it is useful in cases when you want to get a single
file off of the Pico while debugging.
Note that this **requires** a connected OpenOCD and GDB or else the
semihosting will cause a system panic.