How can I create an device running Linux (Android OS) with video output?
PS. I don't want to use an existing very sophisticated dev board, I want to create one.
Thanks!
How can I create an device running Linux (Android OS) with video output?
PS. I don't want to use an existing very sophisticated dev board, I want to create one.
Thanks!
I've been doing something like this over the course of about 4 of the last 6 months (I worked on some other stuff in between). Building my own Linux board has been a tremendous learning experience, but it's also been quite challenging.
Here are some things I wish I knew before I started:
Generally, BGA packages mean you have to use fine-pitch traces and vias, and you it's difficult to assemble the boards yourself. Even if you were to succeed in soldering a BGA yourself, if you had a problem, you wouldn't know if it was due to bad soldering or bad design. The worst problem, though, is that this makes iterating on your design expensive-- around $1000 and 15 business days per rev if you live in the US.
For the love of William Shockley, start with a reference design with Android support (well, just Linux in my case). My board is based off the Atmel AT91SAM9G20 eval kit; that's saved me a great deal of headache.
Use the U-boot bootloader. It's the dominant one, which means that you can get support in more places.
Before you start laying out a board, think very carefully about how to position the components to minimize trace length. I did this to some extent, but not as much as I should have.
Buy the dev kit that is most similar to what you're planning to build, and build the bootloader and kernel from source. That will teach you a lot. If you're serious about video, I would probably try to validate whatever hardware platform I chose before laying out a board.
Good luck.
TI has several video processors in their DaVinci series, some of which combine a microprocessor with a video system, with or without DSP, that will run Linux. For example, the TMS320DM365 includes an ARM9, and an H.264/MPEG4/MJPEG video accelerator. It can output 720p H.264 and MPEG4 at 30 fps.
I know you aren't interested in a development board, but just FYI, the Leopardboard 365, which uses this chip, costs only $129, and the schematics are available on-line so you would be able to adapt them for your own project.
The two varieties of Linux that have support for the DM365 are Ubuntu and MontaVista. Don't know anything about Android.
I hate to put a downer on your idea, but I don't think you could get a PIC running Linux and certainly not Android.
You may just about be able to get a PIC32 running a basic RTOS, but not Linux - as the PIC32's don't have enough memory (128KB maximum.)
Not possible. PIC microcontrollers are not 32-bit, nor do they have anything even close to the requirements of even the smallest Linux kernel, let alone userspace.
Even PIC32s still do not have the resources that even a tiny Linux kernel requires.
Microcontrollers are complete computers (RAM + CPU + storage + I/O) all on a single chip.
So far as I know there are no Linux ports to microcontrollers which can run without extra external RAM - so Linux needs 2 or more chips (except in FPGAs, perhaps).
If you are looking for a well supported Linux dev board with video output, the beagleboard is a popular choice.
Or, you can build your own. But, you'll also need some kind of video processor and video RAM to produce anything more than basic graphics.
On top of all that, Android is big - really big.
Some relevant tags: android, pic, microcontroller, linux