The last part of checking out this board was to verify that the GPIO pins were connected and routed correctly (to catch schematic or footprint errors) and they are correct. The only real issue found is that the silkscreen printing identifying the PA pins is very hard to read (at least with my eyes). In order to fit the text in place, I used 0.030" text with 0.010 stroke widths. The next board rev will be done with 0.008 stroke width to make the text more readable.
To do this test, I wrote a simple loop that walks a 1 through a 32 bit wide uint32_t and applies it to the port. Using a scope, I put channel 1 on PA02 (the lowest bit that was not in use for the crystal) and then checked the rest of the PA pins. Watching the timing with the help of the scope cursor, I made sure that the sequence and time relationship worked out to match the expected pin.