I'm not very knowledgeable about this; I've only confirmed this build with the build I have.
If your AVR chip has USB support built-in (ATmega with U - like ATmega32U4 on the Leonardo and Micro) -definitely has support and will work-, or has a built-in USB to serial converter (like the Uno, and Mega 2560), theoretically it should work though you'd have to dig online for actual references.
If not, you'd have to either use a USB to serial converter (like USB to FTDI serial cables) or emulate USB via V-USB, which I have not tried yet. Adafruit Trinkets are nice candidates for V-USB.
As for ARM-based chips, I've only tried using a Teensy, which already has built-in support.
If your AVR chip has USB support built-in (ATmega with U - like ATmega32U4 on the Leonardo and Micro) -definitely has support and will work-, or has a built-in USB to serial converter (like the Uno, and Mega 2560), theoretically it should work though you'd have to dig online for actual references.
If not, you'd have to either use a USB to serial converter (like USB to FTDI serial cables) or emulate USB via V-USB, which I have not tried yet. Adafruit Trinkets are nice candidates for V-USB.
As for ARM-based chips, I've only tried using a Teensy, which already has built-in support.