Is it possible to implement a serial console via GDB?
This can be achieved by something is called semihosting. How this is implemented depends on the specific devices and software you are using.

It works by using an SVC and BKPT instructions to trigger an action from the debugger host.