no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
Previous revision | |||
— | notes_on_v-usb [2018/05/27 16:10] (current) – external edit (unknown user) | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Notes on V-USB ====== | ||
+ | [[https:// | ||
+ | |||
+ | Coding efforts are a bit more complex than serial lines, simply because USB has so many options. Control transfers, bulk transfers, serial line emulation (CDC), optionally multiple endpoints, whatnot. Best idea is to take one of the sample projects and to hack it until it fits the purpose. | ||
+ | |||
+ | ===== Binary Size ===== | ||
+ | |||
+ | Especially small chips like the ATtiny2313 can be a bit a challenge. This MCU comes with only 2\_kB of Flash memory, so binary size matters. Surprisingly, | ||
+ | |||
+ | The following collection was done with the very same code, which is about just enough to get a communications to the host running at all. Changed between compilations was only F_CPU. V-USB uses different code paths for each supported clock frequency. Target MCU was an ATtiny2313. RAM usage was always 46\_bytes. | ||
+ | |||
+ | ^F_CPU in kHz ^Code size ^Remarks ^ | ||
+ | | 12000| 1464 bytes| | | ||
+ | | 12800| 1780 bytes| | | ||
+ | | 15000| 1520 bytes| | | ||
+ | | 16000| 1414 bytes| | | ||
+ | | 16500| 1536 bytes| | | ||
+ | | 18000| 2360 bytes|(requires CHECK_CRC enabled)| | ||
+ | | 20000| 1396 bytes| | | ||
+ | |||
+ | Another observation: |
notes_on_v-usb.txt · Last modified: 2018/05/27 16:10 (external edit)