Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

info req aboout free rtos with File and USB support

Status
Not open for further replies.

verilog_coder

Member level 3
Joined
Jan 4, 2006
Messages
54
Helped
4
Reputation
8
Reaction score
2
Trophy points
1,288
Location
Pakistan
Activity points
1,725
free usb host stack project

Hi all,
I want to know the freely available RTOS with FILE and usb support. I know linux is available but i want to know about some small rtos.
Thanks in advance.
 

free rtos file system arm

There will probably be no "out-of-the-box" OS you can use.
The architecture you need so support is important (x86, ARM, PPC, MIPS, ...)

There are some open source RTOS-ses available that support multiple architectures.
eCOS and RTEMS are both OS-ses which support POSIX and File system, up to a certain degree,...
USB is a different story! Do you want USB host, device or On-the-Go.
In the case of USB Host: What kind of devices do you want to support, ... .
In the case of USB Device: What type of device do you want to develop, ...

My advice:
When you're not sure what you want to support and have the CPU/Memory, just go for Linux! Stay away from Windows CE when you're a small player!!! When Microsoft has a new version, you have to move to the new version to get any support. This means that you have to re-port your BSP (Board support package), ... .

Regards,

Antharax
 

well actually i want to make a device that reads files from USB mass storage disk and plays them. I know there are lots of such devices already available but i want to do it myself. For that purpose i need some RTOS which can provide support for file system and USB.
 

I am not aware of a free USB host stack with support for mass storage devices unless the one available in Linux. I know that Jungo has a USB host stack for multiple architectures and RTOSses but it is not for free!

Antharax
 

Thanks. I can do without USB stack. Can you tell me about freely available RTOS with file support.
 

The two I mentionned:
eCOS and RTEMS are free operating systems with file support.
I would chose eCos because it support more file systems (not only FAT)

But you will have to port the OS to your platform, and that might be quite a task ;-) .

Antharax
 
eCOS and RTEMS are free operating systems with file support.

Antharax, first let me say ... I am IMPRESSED -- your join date (Jan 1970) is long before the dawn of the internet. Before I was even born! WOW

Back to the topic, for embedded-devices that require USB2 high-speed -- what options are there? I guess you need a USB stack to run in the device's firmware, and the device must have a powerful enough microcontroller (32-bit?)

But who makes those USB (software) stacks for embedded-devices?
 

i dont want to make embedded USB device. I want to make an embedded USB host for Mass storage device. And i need file system support to read files etc.
 

verilog_coder:
As already said, Linux is probably the cheapest and fastest way to build your device.

boardlanguage:
My join date was a bug in the first version of this board, some 7 years ago. It was called elektroda at that time. I wasn't born in 1970 either ;-). The first 100 or so users have this join date.

And high speed USB Devices have most of the time a dedicated controller (e.g. TUSB6250 from TI). The firmware can probably be written by any skilled embedded engineer (or you could hire consultants).

USB host requires a dedicated USB chipset since most SOC (system on chips) with an ARM cpu do not have high speed (480MBit) USB host. They only include full speed (12Mbit) USB host. Although you can connect a USB harddisk to a full speed host, the maximum throughput will be limited.
When full speed USB host is required, you can use an external host controller. But with a 200MHz ARM without DMA on the external memory interface and/or without dual EBI (External Bus Interface) this is probably not worth the effort ;-).

Antharax
 

isnt linux too heavy? I dont want to have a very large code size. I want to keep the code size to minimum. Otherwise embedded linux is the first thing that come into mind. My controller and RTOS choice is based on the following
I only want to read files from USB disk and dump the data to another location. This is only thing i would do in my project. And i have a feeling the linux for this kind of application might be heavy.Please advice.
 

Linux is "heavy", but only as heavy as you want it to be.
You can still select what you want in and what not (in the kernel and as core applications).
It will be heavier than an RTOS due to the more generic approach.
Perhaps uClinux is slightly less heavy, but when your CPU has an MMU, you will probably gain by using 'regular' linux.

And unless you are writing "on the edge" software which needs every bit of RAM and every MHz due to power, cost or whatever requirement, the performance will probably not degraded. Whenever your base system is up and running, you will benefit from the large support of peripherals and the large userbase.

When you choose a standard architecture with support for Linux, the time needed to design the complete system will probably be shorter. (althoug the learning curve might be a bit steep)
But when you expect a large volume, and can spare a few cents on RAM and CPU, it might be worth it to spend more time on designing your own USB stack, or to buy one.

Probably it is not difficult to design the USB stack. But I am pretty sure it is quite a task to fit it in an existing RTOS and to combine it with support for other periperals (ethernet, ...)

Antharax
 
Thanks for the detailed reply. I am now thinking of going with linux or uClinux. Can you please tell me about some guide for beginners for linux or uClinux?
 

The book "Building Embedded Linux Systems" from OReilly is a good start.
I am sure you can find this book on EDAboard, google or in your local bookshop.

But I would also look for information about running Linux on your specific architecture and CPU. When you still have to select a CPU, you can probably find one with a complete Linux port and toolchain (compiler, ...). This would get you up and running in no time.

Good luck!

Antharax
 

Antharax said:
verilog_coder:
When full speed USB host is required, you can use an external host controller. But with a 200MHz ARM without DMA on the external memory interface and/or without dual EBI (External Bus Interface) this is probably not worth the effort ;-).

Antharax

is there a place I can go for overview/explanation of EBI? I know the ARM9 has AHB-interface for data/instruction memory. Is EBI a CPU-module, i.e., part of the CPU -- or is it just an AHB-peripheral?

If it's an AHB-peripheral, doesn't that mean it has to share bandwidth with the other AHB-peripherals?
 

You don't need RTOS for this task. All you need is File System. See attached file for more information
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top