stm32F103C8xx big or small endian?
The STM32F103 uses a little-endian format in the memory as explained in the programming manual on page 30. This is also my experience as I didn't have to switch around bytes when exchanging numbers with my PC (which is a little endian machine of course).

Also as explained on the ARM Knowledge page the Cortex M3 does not support dynamic endianness switching, so you are stuck with whatever the manufacturer deemed right.

You can check the AIRCR.ENDIANNESS bit, just to be 100% sure. If it reads 0 it's a little-endian memory, if it's 1 it uses big-endian.

If you are hitting performance problems because of the byte swapping, you might be able to get around those with the use of REV, REV16 and REVSH assembler instructions (don't know if your compiler does this by itself already).