Why does the generated code from STM32CubeMX use uint8_t for strings, instead of the C standard char? The problem is that they differ in signedness, so gcc gives a warning. It's quite a pain, to be honest.
I can see this at least in the usb cdc class code, for example:
void USBD_GetString(uint8_t *desc, uint8_t *unicode, uint16_t *len)
That expects a string as 'desc', but uses uint8_t instead of char.,