I have made a shield with an XBee socket that talks to the first serial UART (pins 7 and 8) and I have successfully flashed the Maple over this connection.
I have been trying to make the connection more robust because it fails intermittently. Right now I have my XBee modules running at 9600 baud, Even Parity, 12 802.15.4 retries, 4 byte packet length, and flashing fails about 50% of the time. This is, doubtless, an XBee problem, but if there is any way to make stm32loader.py more resilient, let me know.
I'm thinking about seeing if I can add a retry counter to stm32loader.py and see if rewriting-to/rereading-from an address after a timeout is a safe process.
Once I get this working well, I hope to make a bootloader that can recieve updates over the hardware uarts.