Decisions

Hi everyone

I have been reading this group and see that it covers technical matters well, The questions I have deal more with making an informed decision whether the Linux kernel route is the way to go for us.

I run a small company called JAD Systems in South Africa. We have done quite a lot of embedded work but have almost without exception used microchip products ( coding in assembler, picbasic and C), Our needs have grown a little and we need to do some Ethernet enabled embedded solutions. I purchased a ST ARM9 dev board with a KIEL compiler and J-Tag unit and was shocked to find out that the price of the full KIEL compiler is about 10,000 $, we are therefore looking at other options. There are some GNU tools available for the ARM controllers and of course there is the Linux Kernel option, so here are my questions relating to the Linux Kernel option. Please keep in mind that we would like to minimize our development time and I am concerned that as relative beginners it might just be more cost effective to purchase the KIEL compiler. I do think that once we are up and running having an OS on the chip will make it so much more scalable. O yes we have done some development on Linux fox boards and really enjoyed the experience.

1)How big give or take is a standard Kernel footprint? would I have to add external memory to the device? 2)Can I work in a windows environment or do I have to install or emulate Linux? 3)Is the development environments well documented? 4)What Kernel options are available? what's a good start? 5)Are there commercial versions available? 6)Is the KIEL J-Tag unit supported under Linux? 7)Any other options I should consider before making the decision?

I know this is a lot of questions but I would be thankful for any guidance.

Reply to
Jannie du Preez
Loading thread data ...

Can you list your requirements? What IP protocols do you want to use? What applications must be running on the target?

Understandable.

Yes. GNU is a good compiler tool for the ARM.

Advantages of Linux:

- Well documented. 3rd party documents/books.

- Millions of applications.

- Many people who can help you.

Why? Is purchasing the compiler all you need?

You should have a flash of 4-8 MByte and 8 MByte SDRAM. This is a good starting point.

Install a Linux PC! You can use some sort of windows box, but you won't get the full power of a Linux development system.

Hmmm... You need some experience. Get a good Board support package for an easy start.

??

Montavista ...

For a standalone TCP/IP stack, check uIP and lwIP. If you need a realtime OS, check eCOS. for cheap ARM9 chips, check Atmel AT91SAM926x for performance, check the Blackfin.

regards

Wolfgang

Reply to
Wolfgang Mües

Well, sort of documented. Once you get involved, you find that docs not as good as someone who has worked with Embedded linux for years.

Help is relative here. You would be better off hireing someone to hold your hand.

I have tried as a beginner to get Linux development working, but gave up after two years.

Docs are poor, help is not up to par.

The Kiel compiler works out of the box ( albeit on Windows ). Unless you already have expirence with Linux development, you may never get Linux development working on your own.

As I stated above, unless you hire someone to hold your hand, you may never get a development environment running.

Kind of missed the FREE as in Beer part.

Please, I know this is a Linux group. I am here to try to learn and get my project running under Linux.

My experience of two years tells me that Linux is still NOT for the faint of heart.

If the OP has a paid gig working. Stick to something that you know works. Something that you understand without going to the net for assistance.

If you have someone available who uses Linux for development every day, great. But do not try this at home. ( unless you have years )

donald

Reply to
donald

I'm absolutely not up to speed right now but I definitely am getting involved with embedded Linux.

In my _long_ research phase I found: - Linux is the way into the future of embedded design. As limitations of memory and CPU power/price are fading and Linux is evolving IMHO there is no doubt any more. - There are certain exceptions: e.g. cheap low resource systems. Hard realtime systems often are done with Linux plus something additional for the realtime part (e. g. RTAI or PIKE OS). A similar case is certified security systems (e.g. doable with Linux plus PIKE OS). - If or if not using Linux depends on the application. From a certain grade of complexity upwards, IMHO, Linux is the way to go. Small systems don't need preemptive multitasking and you don't use any OS. But you can use the GNU compiler/linker/debugger (with Eclipse if you prefer), anyway. Commercial compilers make sense if you need to optimize/tune the system especially, but here you need to do the design and tool selection extremely carefully. - Linux as an embedded target system does not come for free. Either you invest a lot of time or you need to buy a decent startup kit and/or you hire professional help. - Nowadays there are several professional companies that provide embedded Linux support. These can get you up to speed quite fast (especially on common architectures like x86, ARM and Power PC. - Eclipse is more and more "standard" with those embedded SDKs, making embedded software development a lot more comfortable for non-nerd Linux developers. Depending on the provider, those SDK run on Linux PCs and/or on Windows PCs. Working with that GUI the PC OS makes no real difference (but on Linux the compiler runs a lot faster, as Cygwin is not used). - Getting Eclipse running for an embedded target system is a real PITA. So you should try to find a decently done complete distribution.

-Michael

Reply to
Michael Schnell

Thanks Yes I can list my requirements

Well our initial development will be quite simple actually

1) we need to establish a link to a fastish 200K samples per sec A2D converter 8 channels, we need to implement self calibration and range select 0-5V, 0-10V and 4-20mA with an option for differential signals (but not immediately required).

2) We need to do some data manipulation, the first version will be averaging and digital filtering only, future versions are to do FFT.

3) We need to stream this data over a network to logging software written in LabVIEW, as well as do some local data logging to the device, next we will need to establish a web server through which we can set up the device and its environment.

TCP/IP as these devices will form part of corporate environments.

a web server and a data manipulation app.

What do you mean with "Get a good Board support package"?

Thanks

Jannie

Reply to
Jannie du Preez

Ahhh... so you need a high throughput TCP/IP.

OK. DSP instructions will be fine...

I would suggest to use the Blackfin BF536/537. It has computing power, DSP instructions, running uClinux, and a good development community.

Start with this board:

formatting link
formatting link

The community portal is at:

formatting link

If you found you have to use a realtime OS, eCOS is ported to this board:

formatting link

regards

Wolfgang

Reply to
Wolfgang Mües

Indeed a good possibility, but you can also use RTAI which is also used on this board.

formatting link
RTAI has a good community of developers who are willing to help you with problems related with rtai and applications running on the hardware by the way. Taco Walstra

Reply to
taco

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.