Hi
I checked out the space required for USB CDC and HID in the uTasker project on the KL25:
- CDC Flash 7k, RAM 96 bytes, Heap 1.8k (depending on buffer sizes allocated - this size allows fast and comfortable operation)
- HID Flash 6k, RAM 60 bytes, Heap 600 bytes
The advantage of CDC is that the PC can use virtual COM and the data exchanges is like a UART - doesn't require special drivers or a special protocol solution.
According to the comparison there is little difference in the program overhead from HID to CDC on the KL25 - probably additional code would be required at the application layer too for an HID solution.
Are you using optimisation for size? 26k for CDC seems rather large.
If you need to save data to EEPROM/Flash you could also use SPI at much higher speeds to SPI Flash.
Depending on the advancement of your project you could look at the uTasker project since it is designed for small footprint solutions and allows a lot to be performed in restricted memory environments..
Regards
Mark