Modern gdb versions have --enable--python option which included Python interpreter into the debugger for any target processor/MCU. This option looks me much better to embed gdb interface into Jython, as we'll have a portable way to interact directly with hardware using any mainstream i/o interfaces like J-Link, ST-Link,.. or any UART/USB/ETH coupled with gdb stub on the device.
Factically, we can even write the firmware model without the use of any C code, as all MCU i/o mapped to a memory address space, and we need only small interrupt handling code and a sort of generic i/o gateway written in C.