Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
05/04/05 15:24
Read: times


 
#92894 - Filesystems?
Recently I was pondering using '51 as a mass storage devices interface. There are quite a few possible applications where you have a chunk of storage, be it a drive, a chip, a Flash card, whatever, and a PC, and no reasonable commercially available solution to connect them, or one with so obscure access methods you want to forget it, fast. '51 with RS232 port, or an USB slave clone could work as a decent driver for such a device. Except, to make it usable as the mass storage, you need some kind of protocol and a filesystem.

For USB, the protocol choice is obvious - the "memory device" protocol is just SCSI over USB. There's IDE over paralell, you could share the device as a network drive (SMB) over ethernet, etc. I'm not sure what straightforward method could be used for RS232, but I think something could be found. I have a different concern though - how to organise the files on the medium. The basic "write raw bytes, let the reading application worry about reading them" approach is not quite what I want - this certainly won't be a "plug and play" device, you'd have to install your own special drivers on the PC to read it. So, a filesystem...

FAT seems straightforward. Ages old, well known technology, working with everything just fine. Not the most efficient and reliable filesystem in the world, but simple enough. The problem about FAT, though, is licensing. It's intellectual property of Microsoft and they seem to have a strong desire to require fees on using it in any third party software, be it embedded systems or anything else. So, I'd like to think about some other options...

There's a plenty of open source filesystems, many of them really great, ranging from simplest to most sophisticated. There's one big pain about them though. It seems that none of them is supported in Windows. What IS supported in Windows, though, are the standard CD filesystems - ISO-9660 and derivatives, in newer versions, the packet writing etc. And of course, network protocols. So, how hard would it be to make '51 behave i.e. as an USB CD writer, or a modem connected to a host with a network share (yeah, TCP/IP stack...)? Would that make sense? Or, to avoid the FAT patent problems, to let the device store the data internally using its own, arbitrary filesystem (maybe one of the Open Source ones) and convert the data on the fly, to make it look like FAT to the PC?
All this within restrains of a '51 family chip, and with requirement for acceptable throughput? Any other idea to make a device work "out of the box" with a PC, without need to install other drivers than those included with the OS?

List of 9 messages in thread
TopicAuthorDate
Filesystems?            01/01/70 00:00      
   It depends            01/01/70 00:00      
      Software patents            01/01/70 00:00      
         Really ?            01/01/70 00:00      
   yes really Donald            01/01/70 00:00      
      Not really            01/01/70 00:00      
         Actually...            01/01/70 00:00      
   reinventing the wheel            01/01/70 00:00      
      The wonderful thing about standards...            01/01/70 00:00      

Back to Subject List