Posted on June 08, 2011 at 18:10 No, the USB and CAN controller share a 512 byte memory area. That had to be inconsequential in terms of chip area savings, but it's a major impact on usefulness if you want to use CAN.
You can't even avoid the problem by using the '105 or '107 chips with dual CAN controllers. The second controller is actually a slave to the first controller (a design which has its own set of issues), and indirectly uses the same memory buffer.
We are using a SPI-connected MCP2515 CAN controller as a work-around.
The new STM32F2** series chips may fix this design flaw. The datasheets describe the USB memory buffer as being larger than before, with no mention of sharing. But they aren't really available yet -- I haven't been able to purchase one yet to test it out.