MCU + Linux + Vídeo?

¿Cómo puedo crear un dispositivo que ejecute Linux (SO Android) con salida de video?

PD. No quiero usar una placa de desarrollo muy sofisticada existente, quiero crear una.

¡Gracias!

no es una foto, pero cualquier microcontrolador???????
está bien que edites tu pregunta a medida que la refinas
Es posible que pueda usar un microcontrolador más potente que se base en una arquitectura ARM, como un STM32 con memoria externa. Necesitaría al menos 1 MB incluso para iniciar Linux en un indicador de shell, y probablemente más de 32 MB para que Android esté en funcionamiento. Sin embargo, dicho esto, incluso si funciona, costará mucho más que una solución de CPU + memoria, o una solución simple como BeagleBoard que sugirió Joby Taffey.

Respuestas (5)

He estado haciendo algo como esto en el transcurso de aproximadamente 4 de los últimos 6 meses (trabajé en otras cosas en el medio). Construir mi propia placa Linux ha sido una gran experiencia de aprendizaje, pero también ha sido un gran desafío.

Aquí hay algunas cosas que desearía haber sabido antes de comenzar:

  1. Por lo general, los paquetes BGA significan que tiene que usar pistas y vías de paso fino, y es difícil ensamblar las placas usted mismo. Incluso si tuviera éxito en soldar un BGA usted mismo, si tuviera un problema, no sabría si se debe a una mala soldadura o un mal diseño. Sin embargo, el peor problema es que esto hace que la iteración de su diseño sea costosa: alrededor de $ 1000 y 15 días hábiles por revolución si vive en los EE. UU.

  2. Por el amor de William Shockley, comience con un diseño de referencia con soporte para Android (bueno, solo Linux en mi caso). Mi placa se basa en el kit de evaluación Atmel AT91SAM9G20; eso me ha ahorrado un gran dolor de cabeza.

  3. Utilice el gestor de arranque U-boot. Es el dominante, lo que significa que puedes obtener apoyo en más lugares.

  4. Antes de comenzar a diseñar una placa, piense detenidamente en cómo colocar los componentes para minimizar la longitud del trazo. Hice esto hasta cierto punto, pero no tanto como debería.

  5. Compre el kit de desarrollo que sea más similar a lo que planea construir y construya el cargador de arranque y el kernel desde la fuente. Eso te enseñará mucho. Si te tomas en serio el video, probablemente intentaría validar cualquier plataforma de hardware que elija antes de diseñar una placa.

Buena suerte.

lo deje =x gracias por tu experiencia
pd.: que puedo hacer con 2 o 3 cajas de altoids?! debe ser un adaptador RCA para video. gracias
No se puede hacer mucho con solo 2 o 3 cajas de Altoids. ¿Quizás hacer 2 o 3 condensadores de alto voltaje y bajo valor? ¿O algún tipo de sistema de almacenamiento para mentas?
quiero hacer algo como ybox ladyada.net/make/ybox2
¿Quizás probar el Chumby Hacker Board? adafruit.com/…
Estos comentarios no tienen nada que ver con la pregunta original. Pingswept, como moderador, debería identificar cosas como esta y sugerirle que cree una nueva pregunta en lugar de responderla aquí.
Eso me parece una mano dura, pero estoy feliz de estar de acuerdo si Andrew quiere convertir su comentario en una pregunta.

TI tiene varios procesadores de video en su serie DaVinci , algunos de los cuales combinan un microprocesador con un sistema de video, con o sin DSP, que ejecutará Linux. Por ejemplo, el TMS320DM365 incluye un ARM9 y un acelerador de video H.264/MPEG4/MJPEG. Puede generar 720p H.264 y MPEG4 a 30 fps.

Sé que no está interesado en una placa de desarrollo, pero para su información, Leopardboard 365 , que usa este chip, cuesta solo $ 129, y los esquemas están disponibles en línea para que pueda adaptarlos a su propio proyecto.

Las dos variedades de Linux que tienen soporte para DM365 son Ubuntu y MontaVista. No sé nada sobre Android.

Odio desilusionar tu idea, pero no creo que puedas obtener un PIC con Linux y ciertamente no con Android.

Es posible que pueda obtener un PIC32 que ejecute un RTOS básico, pero no Linux, ya que los PIC32 no tienen suficiente memoria (128 KB como máximo).

atmel tal vez????
Diríjame a un Atmel AVR (o AVR32) con al menos 1 MB de memoria de datos integrada y una arquitectura compatible. Puede que existan, pero no lo creo.
@Thomas, siempre puede agregar memoria a un microcontrolador. Luego puede hacer que su micro se inicie en una pequeña cantidad de memoria del sistema y arranque desde la memoria conectada. El problema de hacer que Linux se ejecute en él es compilarlo para que haga lo que usted quiere que haga.
Bueno, sí, pero ¿por qué se tomaría la molestia de agregar una lógica externa para obtener algunos megabytes adicionales cuando podría usar un procesador diseñado para la tarea en primer lugar? Los microcontroladores no son CPU y no están diseñados para ejecutar kernels grandes como Linux.
por la naturaleza de ser un procesador, la memoria debe ser externa, al menos que yo sepa. Parece que en ambos casos necesitas memoria externa.
Algunos procesadores móviles tienen memoria en el troquel o en una configuración de troquel sobre troquel.

Imposible. Los microcontroladores PIC no son de 32 bits, ni tienen nada ni siquiera cerca de los requisitos del kernel de Linux más pequeño, y mucho menos del espacio de usuario.

Incluso los PIC32 todavía no tienen los recursos que requiere incluso un pequeño kernel de Linux.

Los PIC32 no son procesadores ARM. Son una mezcla de MIPS y algunas características personalizadas. Un STM32 es un ejemplo de un microcontrolador con un procesador ARM.
Ugh, eso fue un pensamiento bastante grande. Sí, tienes toda la razón, están basados ​​en MIPS, no en ARM. Lo siento por la desinformación. Sin embargo, los otros puntos siguen siendo válidos. :-)
No se preocupe, todos los tenemos... como mi "por qué no se dispara mi interrupción... oh mierda, está enchufado en el pin equivocado" momento que ocurrió después de 2 días depurando un problema.

Los microcontroladores son computadoras completas (RAM + CPU + almacenamiento + E/S) todo en un solo chip.

Hasta donde sé, no hay puertos de Linux para microcontroladores que puedan funcionar sin RAM externa adicional, por lo que Linux necesita 2 o más chips (excepto en FPGA, quizás).

Si está buscando una placa de desarrollo de Linux bien compatible con salida de video, la beagleboard es una opción popular.

O bien, puede crear el suyo propio . Pero también necesitará algún tipo de procesador de video y RAM de video para producir algo más que gráficos básicos.

Además de todo eso, Android es grande, realmente grande.

Algunas etiquetas relevantes: android , pic , microcontrolador , linux