Some time ago I searched for CAN-USB interfaces usable for bootloaders.
I can tell you, writing 200kB of image over a 25kBit bus is slow
. For most CAN-(USB)RS232 the limiting factor is the communication method to the host. Not the hardware throughput, not the software throughput. The virtual serial port implementation. Which is especially poor on Windows.
Some of the interfaces actually managed to transmit corrupted frames at high load. Which is never allowed.
Eventually I found Kvaser through a hint from this forum. They don't emulate a serial port. But instead have their own driver. Which you have to install. They also don't price their stuff with only two digits.
I'd suggest you take a look on their vision of abstraction of the CAN interfaces on the host side. For research
.
As a native embedded programmer I really liked not having to fuss around with serial ports. Because it's always a bit dodgy and the unfriendly to end users.
Not that a virtual serial port is bad. But you must be aware of the limits.