Embedded Linux Hardware Resources? 37
jessecurry asks: "I've recently come up with a conceptual Linux based piece of hardware and have been able to find a huge amount of information regarding getting Linux on to a device, but almost nothing about creating the device itself. I'd like to know if there are any books, online guides, or software that would help in designing a device that would accept some flavor of Linux. I really don't want to go 'off the shelf', but I need something that can at least display graphics, respond to positional input, and play sound. Also, is there a good place to have all of these components put together once I have a finalized design?"
Depends (Score:4, Informative)
The RTAI mailing lists are a good place for this kind of question however, and handhelds.org has a lot of links to embedded Linux projects.
O'Reilly Book (Score:3, Informative)
Tail wagging the dog? (Score:5, Insightful)
Re: (Score:1)
why reinvent instead of modify and save egads on development
Re: (Score:2)
Unless there is some overiding requirement - like your tutor saying ' build a device that runs linux ', then you are starting at the wrong point. Please, explain your problem in more detail
p.s. If your tutor really did suggest that, then they are an idiot. Find yourself another tutor. Engineers in the real world design systems to solve problems, not to a particular OS )
Re: (Score:2)
It's reasonable to assume that, whatever the device in question actually is, it involves general pu
Re: (Score:2)
Well, it would be more reasonable to assume that if the discussion wasn't about embedded systems which aren't considered general purpose devices.
"Engineers may design systems to solve problems but business men create buisnesses to make money, and Linux can be an important part of that."
There really isn't much serious engineering product design going on outside the contex
Re: (Score:2)
An embedded system usually IS a general purpose computing device. That is, most of them are built from a few standard components and are driven by a generic CPU with custom software and/or firmware. (That may be a complete program that performs all functions, including those normally relegated to an OS, or it may be just a custom program running on top of a stand
Re: (Score:2)
That's not what I would call "general purpose". That definition would cover everything with a microprocessor from a toaster to a high-end server. Embedded systems generally have a purpose that is more limited in scope.
"A large research lab or skunkworks is, perhaps, technically a business but the engineers are
Re: (Score:2)
My last comments on the subject. Feel free to have the last word if you like.
You're confusing the purpose of the device with the functioning of the device. Pretty much everything from a toaster to a high end server DOES use general purpose microprocessors. That's precisely the point I was m
Embedded systems != CPU (Score:2)
Sure, at a very low level all computer applications do the same sort of things, but embedded product des
Foolish (Score:3, Insightful)
Re: (Score:3, Insightful)
Gumstix (Score:4, Interesting)
Their boards will do everything you've mentioned, they have good documentation, the schematics are under creative commons, and it runs Linux.
Why? (Score:1, Informative)
While Linux runs on ARMs, be assured that building such a thing is not much different from designing a mainboard with bridges... yourself.
That's why I'm asking why.
- either you want to make it for fun, for learning. that's fine, go ahead
- or you have your idea about some software running on embedded Linux which you want to make into money. Then don't waste your time creating new hardware. Two links for you: <a href="http://www.pcengines.ch/wrap.htm">PCEngines WRAP
Obvious - only existing chips... (Score:3, Informative)
So obviously if you plan to build hardware that will run Linux you need to use existing chips that have support in Linux. On the other way you may be willing (but there is no economical point for you really) to design some brand new hardware - just make sure it is atractive so few linux-heads-devs will use it and also make sure you release full specification of it.
Re: (Score:2, Funny)
Sounds like you need a fleshlight. [fleshlight.com]
LK
Buy don't build (Score:2)
See http://www.linuxdevices.com/ [linuxdevices.com] for probably the single best central resource for what you can buy off the shelf already.
it's all been done before (Score:3, Informative)
In my experience, Cirrus Logic is very Linux friendly, with good driver support for their ARM processors and dev boards.
Just what you're looking for... (Score:2)
Depends what you want (Score:3, Insightful)
Lowest level - True microcontroller. AVR or PIC. They can easily display LCD graphics, MP3 chips exist for sound. If you can get away with a true microcontroller, DO IT! It isn't Linux, but the AVR line is heavily supported by the open source community. Some of the best developer tools for it are GCC based. It can also easily do DAC and ADC. Super cheap per unit costs (some systems under a dollar in high enough bulk)..
Next level - Gumstix style system. Has a heavier OS, but much more hardware support. Also, you have the advantage of many premade libs for you to use. They usually use 200-400 mhz processors. Also have the advantage of much more storage. Can usually access CF and SD cards.
Mini itx / Nano itx / PC 104- The manufacturing industry uses these a lot. Still solid state, but basically a small PC. REALLY small PC. Many times 1/4 the size of a laptop motherboard.
PC - Some people consider limited resource PC's embedded. I generally don't, but that's me. The manufacturing industry uses these. Think shuttle pc or microatx.
As I said before, depending your programming experience, it's almost always best to start lowest and go up. Your unit costs are cheaper. Devices use less power and not as hot. Much smaller. Etc, etc. Basically, all these things mean more profit to you.
Re: (Score:2)
Some things have changed, however. In the old days the 8051 was usually the main processor even in a fairly complex embedded system. Now it is more likely to be used to implement a sub
Re: (Score:2)
The PIC line is notorious for being
1) Super
one answer (Score:3, Informative)
As another poster suggested, you can do prototyping with a Gumstix. Just the display may be a pain with those because they use that teeny-weeny surface-mount Hosiden connector for most of the I/O lines, and you will probably need to build your own display adapter board. But they do have an audio daughterboard already. For something more expensive but a little more ready-to-go (as a prototype), check out the offerings from Arcom; I've used those as well. Or look for some other SBC (linuxdevices.com is a good place to search). You can develop software that way, make sure you know how to use all the hardware you're going to need, and in parallel be working on your final board design (suitably miniaturized if necessary, all on one board, and leaving off the features that you don't need).
Re: (Score:2)
Re: (Score:2, Informative)
Use p2p (Score:1)
Not Linux (Score:2)
Look for embedded forums, start with the sparkfun, philips semiconductors, lpc2000 and similar forums.
Any hardware you work on or will build will highly depend on the type of CPU and system (including memory size and design constraints like power). I suggest you start with just making root and kernel images for something mundane like cisco 2500 routers and Linksys WRT54GS routers, the
Re:Not Linux ...YES it is! (Score:2)
Soekris devices (Score:1)
EP93xx + assembly (Score:1)
Other variants (series 931x) even have VGA-out!
Our main problem is the flash memory needed, since its out of production. You can use some substitute, fiddling around with the address lines, but we decided to have a second look at the bootloader, and try to boot this baby directly from USB or SPI.
As for the assembly...w