Hello everyone
I am working on LPC2468 usb host with mass storage class . I am using NXP usb hostlite example as a base. I converted this source code for FAT32 system. It,s working fine for KIGNSTON 8 GB, SANDISK 4 GB pendrive. But when i used Hp 8 GB pendrive , it works fine sometime or sometime not.when I debug through the software the value of HOST_RhscIntr is not changing to 1. What,s the reason behind it.
CAN BE THE BUG IN THUMB DRIVE. LIKE LOTS OF SD CARDS HAVE BAD TIMINGS AND STUFF.
DON'T SHOUT!
Even if it is a bug in the HP drive, you said yourself that the PC accommodates it!
Far more likely a bug in your firmware.
www.catb.org/.../smart-questions.html
No, no, no no.
Lots of SD cards have not bad timings and stuff.
It is far more likely that lots of card reader software have bad timings and stuff.
Why else is almost all cards working when used in a PC, while lots of embedded equipment (MP3 players, cameras, data loggers etc) have issues with some cards?
If you think that maybe more time was invested in testing for the PC products, then you are close - real close - to the correct answer.
Too much embedded equipment gets released after having been tested with 3-4 different memory cards.
But when you buy memory cards, they are sold in many different speed classes. These speed classes obviously do affect how the card can be used...
Depending on flash type, and number of parallel flash memory chips, they will have different transfer rates. Different cards can also have different flash controllers. The standard do specify limits for timings of different signals - but normally only in one direction.
And there are also many different ways you can legally format a memory card - even two cards of same size. You can have one or two FAT tables. You can have different offset of root directory. You can have different number of root directory entries. You can have different sector size. Different cluster size. With partition table or without.
There are lots of parameters in the master boot record that can be optionally configured differently - and the reading firmware needs to learn to support these differences.