USB host + FAT32 filesystem

Hi,

I'm gonna purchase the following embedded libraries:

USB Host + Mass Storage Class driver + FAT32 filesystem

Among many, I'm focusing my attention on (alphabetical order):

- HCC-Embedded

- Micrium

- Thesycon

Has anybody experiences with any of the three?

Thanks for any hint, Enrico

Reply to
zigbee
Loading thread data ...

My company is currently working on a Validation Suite for Micrium's version of these items. I have used the filesystem in previous projects and it worked quite well. I have not used the USB in a project yet, but have spent time examining the code for validation. It is consistent with Micrium's outstanding code quality. That is not to say that we don't find the occasional thing to have them change for safety-critical use, but generally it is excellent.

--
Scott
Validated Software Corp.
Reply to
Not Really Me

Hi Enrico,

How about On Time's RTUSB-32

formatting link
and RTFiles-32
formatting link
On page
formatting link
you can download a free Evaluation Kit of RTUSB-32 which includes the licensing terms, the Programming and Reference Manuals, the complete source code of a System Driver (the porting layer of RTUSB-32), and the source code of six example programs using RTUSB-32.

Peter

Reply to
Peter Petersen

hi Peter,

I'll take a look, thanks.

How much does it cost the whole suite to read/write files from a USB key? I don't actually use any RTOS and would like to find a suite that is not RTOS dependent.

Enrico

Reply to
zigbee

Hello Enrico,

You can find the price list on On Time's Web site:

formatting link

RTUSB-32 and RTFiles-32 do not depend on On Time's RTOS. They are completely portable and are being used on many different systems. However, due to the asynchronous nature of USB and its hot-plug/unplug capability, RTUSB-32 does need threads.

Peter

Reply to
Peter Petersen

I, too, have been asked to provide USB Flash capability on an existing product that doesn't have USB host hardware. So I would need to add that, obviously e.g. ISP1160 fits the hardware well. I already have FAT16+FAT32 functionality using SD and SDHC cards so I would hope to be able to reuse that. What I don't have is a lot of spare RAM, no threading and a lot of code that can't or won't be changed - 14 products and counting based on this hardware. What aspects of threading are needed?

Peter

Reply to
Peter Dickerson

Hi Peter,

I'm actually using a simple Round Robin with interrupts scheme, where each task has the following form:

void my_task (void) { switch (my_task_state) { case 0: ..... break;

case 1: ..... break;

} }

Each task has its own state and returns the control each time it has to wait for a signal. There are no CRITICAL SECTIONS among different tasks.

I don't have threads.

Enrico

Reply to
zigbee

Peter,

The hub class driver creates a thread which waits for messages sent from root hubs of external hubs. These messages tell RTUSB-32 when USB devices are attached or disconnected. For attachments, this thread then calls class driver or application driver callbacks to allow them to handle one of more interfaces of the new device.

Threads are required, though they do not have to be preemptive and you do not need priorities. At least one synchronisation mechanism is required (e.g. semaphores).

Peter

Reply to
Peter Petersen

Well in that case I'm expecting marketing to say that we don't need to support hubs. I'm talking about someone who insisted he wanted to be able to plug in SDRAM and use it to store results. He got SD Card support instead and I edited SDRAM to SD Card in the manual and all was well.

Peter (Dickerson)

Reply to
Peter Dickerson

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.