9.4.3 Reference Documentation

Arm developer documentation: What is semihosting

https://developer.arm.com/documentation/dui0471/g/Bgbjjgij

Arm developer documentation: Using semihosting to access resources on the host computer

https://developer.arm.com/documentation/101470/2023-0/Controlling-Target-Execution/Using-semihosting-to-access-resources-on-the-host-computer

The semihosting specification:

https://github.com/ARM-software/abi-aa/releases (look for semihosting.pdf)

The easiest way to use a buffer is to use the standard C setvbuf call:

https://www.tutorialspoint.com/c_standard_library/c_function_setvbuf.htm