USB cdc or hid or another

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

USB cdc or hid or another

1,977 Views
Danzo
Contributor I

Hi All

i have a problem with the usb interface...im running very low on space with the kl25 128Kb part... so no more room to move

and i think that the 26 odd k for the usb may have to go.... but at the moment we are using the cdc ... is hid going to be much smaller....

or are there some o ther tricks that can save me a heap of flash??

i have thought oif the possibility of putting some of the data that is in flash into external eeprom but this will have issuse as i have to find lat longs by running through data... its going to take a while at 400kz baud accross i2c

anybody got some ideas

dan

0 Kudos
3 Replies

897 Views
Danzo
Contributor I

Hi Mark

so im usinng the PE expert library .... may be there is a large difference there

yes and our project is a long way down the track... so i need to find something that i can integerate in easily

dan

0 Kudos

897 Views
perlam_i_au
Senior Contributor I

I agree with Mark about uTasker but also have you tried using USB Stack?? may be you also could to take a look to the AN4748, USB and Using Freescale USB Stack with Kinetis L devices, I hope you find it useful.

0 Kudos

897 Views
mjbcswitzerland
Specialist V

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

0 Kudos