Compiling blink for STM32 discovery/ RAM results in a binary to big for RAM upload. Objdump shows a lot of USB related code. I tried to move usbInit() to the BOARD_INIT section in boards.h, with the STM32 Discovery path not calling usbInit(), but still USB code was linked.
How does the linker work? Where are files to link defined? Grepping through the code didn't help me to understand.