Be it ARM, XScale, PowerPC, MIPS or any other kinda chip?
How difficult is it to design a small prototype board that can boot an off the shelf embedded linux distro? Its been something I've been meaning to try but don't have enough info on how to go about it.
Where does one begin? And how does a person build and mount these chips onto the board when many of these chips are all BGA format?
Questions questions everywhere and not a drop to drink!
The Atmel AT91SAM9260 is available in PQFP 208. It has an ARM926 core with MMU, and external memory interface, so it's suitable for Linux. It also has a ton of useful peripherals included. If you want to get started quickly, there's also a development board for sale ($560 at digi-key).
If you want to learn more about setting up the OS, there's an O'Reilly book that may be helpful ("Building Embedded Linux Systems" by Karim Yaghmour,
The more important question to ask first, is why must one begin this project? Whatever the end application is, it is likely that someone already sells a board that can be used as-is or with little modification.
Having said that, there are plenty of Linux-capable SoCs - starting at low-end ARM7 devices and moving on up - that do not come in BGA packages.
If you must use a BGA device, well... it's not a cheap path to do this at home (because of low yields) but you can use the toaster oven reflow method. There are special stencils sold for rework use that have just a single BGA[xxx] pad pattern on them; you manually put solder on the pads this way, then put the chip down, reflow it, and pray that it self-aligns properly. It is net cheaper to get an external prototyping house to mount the BGAs for you, though.
As a electronic hobbyist I have designed two prototypes using Renesas SH3-processor. As the 2.6-kernel already supported above mentioned processor, it was quite straightforward. I designed the board with two CF-connectors so that I could use CF-cards as filesystem and I still have another slot for WLAN or GPRS. As memory I use normal SDRAM.
I would like to learn the process from the ground up. That way I can add and subtract circuits to the board as needed. With the COTS approach, I am powerless if the vendor does a vanishing act on me or if I want certain changes to the board. I'm doing this only for the sake of experimentation & learning btw, nothing commercial in mind.
Not that I want BGAs but the SOC's I've seen seem to come in such packages. So I may be forced to use it if I select such chips. Since I am an amateur, I'll avoid it for now. What non-BGA SOC chips can you suggest to me?
I would like one where the schematics and software development tools are easily available and inexpensive or free.
Sounds like hell.
Did you mean to say "It is NOT cheaper..." or "It is MUCH cheaper" ? How much would an assembly house charge for mounting 3 or 4 boards with a BGA chip - any idea?
Thanks
PS : I thought I posted this message but my post got lost. If you receive it twice, just ignore one.
A question : When you decided on the chip, what schematics/documents did you refer to to build your board? What process did you go through? Did you first work things out on a development board or did you just go straight for the kill and build the board from datasheets? Does Renesas offer basic/simple schematics to refer to when building a board of your caliber?
I'd like to download your brain to my HD when you are not busy.
Depends. It's expensive when your time is free. If somebody's paying you for the time, it earns itself back quickly. It allows you to test the software without worrying about the hardware, and you can use the schematics as a reference for your own design.
The book can be read on-line, if you want to be cheap.
Many SoCs are on a short lifecycle anyway. Much shorter than for general-purpose parts. Most, if not all, SoCs are designed for some specific application market. Once that market moves on to new technology, non-core users of that chip are left in the cold.
What are your requirements? One 20MHz CPU core with a segmented LCD controller, or a 3.2GHz CPU core, ten co-processors and eight gigabit Ethernet MACs on the one chip?
Most of the chips will have reference schematics available. All of the parts you will be considering will be supported on the software side by the GNU toolchain. Physically connecting your computer to the chip will cost you some money though - probably not much. Olimex for example make some very cheap JTAG bit-bangers for ARM parts.
I meant to say exactly what I did say: it is, net, cheaper. I.e. when you factor in the cost of replacing or reworking a failed homebrew attempt, it is overall cheaper to get a pro to do it for you.
I pay about $80-$100 per board including X-ray inspection. But I only ever do a very few this way.
By "off the shelf" do you mean precompiled, working binary for the on-board peripherals? You're welcome to buy our Omniflash board....
formatting link
If you buy a board you get a schematic. The kernel is precompiled and running on the shipped board. GPL source and binary images and configured GCC development enviroment are included with the development kit and are available separately for a small distribution fee.
You can take the schematic and the software and build whatever you want. And compare your prototype's behavior to a working board. The design does not use BGA chips. Just please don't ask for a bunch of free tech support to get your board going. And no, you can't have a free schematic. The cost of a dev kit is our minimum "license fee" for the hardware design and IMHO it's a pretty good bargain.
Better than "is there a linux port for it", it has *manufacturer support* for a linux port. Check out Atmel's own eval kit:
formatting link
notice that on the page you can download a ready-to-boot linux demo (you can also download a ready-to-boot WinCE demo from the same page). The spec sheet for the eval kit includes the full schematics so you can do your own board.
Atmel's trying very hard to make this chip Linux friendly. But they're mostly depending on timesys.com to do the actual customer support.
Most hobbyist projects use the older AT91RM9200:
formatting link
formatting link
formatting link
I'm planning to use the AT91SAM9260 myself for my own linux board.
The decision for the chip was based on the fact that Linux-kernel already had support for the CPU. There was also complete GNU crosscompiling environment available. I chose SH7729 and SH7727 CPU's as they are available in non-BGA package. I designed the board myself and it was quite straightforward since I found some application notes describing how to connect SDRAM and PCMCIA/CF. Check the documentation for those CPU's and you will see that only few additional components are needed to have a working system.
Its a tempting offer Jim. How about I buy the schematics first and if I can make sense of it, I'll come back and buy the board? I am an amature hobbyist designer and I've never used anything from Cirrus Logic so I don't know if I'm jumping in over my head board design wise.
If you want to get commercial support, you go through Timesys but the
formatting link
page contains the latest patches as well. You can discuss with the AT91 users at the
formatting link
mailing list.
I think the plan is to have all the Linux support merged in the mainstream Linux Kernel. A lot of the drivers are there already.
If you want to build a file system, then you can do so using my buildroot, which will build
bootstrap
U-Boot
Linux Kernel
Root file system
It is available at ftp://at91dist:distrib@81.80.104.162/ -> AT91 Third Party -> Linux Host ->
Buildroot. This is available as is, and not supported by Atmel.
Timesys supported building your system using binary RPMs instead of having to recompile things everytime you start a new project, so if you value your time, it can easily be worth the annual license fee.
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.