Primeros pasos recomendados con el BeagleBoard

6

¿Cómo puedo comenzar fácilmente el desarrollo profesional con el BeagleBoard XM?

  1. ¿Con qué sistema operativo debería trabajar? .. mis opciones incluyen:

    • Ubuntu
    • Android
    • MeeGo
    • WinCE
    • QNX
    • Angstrom (preinstalado)
    • Symbian
    • Gentoo
  2. ¿Cómo instalo un sistema operativo en la placa?

  3. ¿Qué IDE utilizo?

  4. ¿Cómo depuro o ejecuto mi código en el destino?

Compré un nuevo Beagleboard XM para interactuar con un módulo de cámara , capturar video y hacer un poco de procesamiento de imágenes. La cámara utiliza una interfaz de puerto paralelo de 8 bits para transferir imágenes.

¿Qué recomiendas?

    
pregunta Kevin Boyd

3 respuestas

2

Probé Meego y Angstrom, y me decidí por Angstrom. Es mucho más fácil hacerlo funcionar, y muy estable. El puerto de Meego para beagleboard, por otro lado, tenía muchos fallos. No probé los otros sistemas operativos, pero diría que Angstrom parece ser la mejor opción tanto para el apoyo como para la estabilidad de la comunidad.

Instalar el sistema operativo es bastante simple: descarga una imagen del sistema operativo en una tarjeta SD y realiza algunos cambios en el cargador de arranque para que arranque desde la tarjeta SD. Hay algunas imágenes de SO listas para usar en el sitio web de Angstrom, junto con recetas para instalarlas en la SD. Básicamente, creará dos particiones: una FAT más pequeña para el arranque y el kernel, y otra para el sistema de archivos raíz que contiene todo lo demás. Aquí hay un sitio que contiene instrucciones para el arranque SD: enlace

También puede hacer que se inicie desde el flash NAND, pero le recomiendo que guarde esta opción para más adelante cuando se sienta más cómodo con el dispositivo. Dado que la NAND es limitada, deberá crear una imagen personalizada con bitbake para que encaje, ese es el tipo de trabajo que no querrá hacer ahora mismo.

Sobre la depuración, la mejor manera es que compre una interfaz de ethernet a usb + hub usb. Luego ejecuta gdbserver en su beagleboard y puede usar cualquier IDE de depuración compatible con gdb en su PC (yo uso Eclipse CDT).

Para la interfaz de la cámara, la forma más sencilla sería utilizar los pines GPIO en el conector de expansión; el inconveniente es que puede tener una velocidad de fotogramas limitada debido a la limitación del ancho de banda, y también hará que el procesador esté ocupado al transferir la imagen; por otro lado, el GPIO es tan flexible que probablemente no necesitará ningún circuito adicional para conectarlos, siempre que su voltaje sea compatible (el GPIO funciona a 1.8 V). Puede haber otras formas si desea una mayor velocidad de cuadros y necesita que el procesador esté disponible para otras tareas paralelas, pero le recomiendo dejar eso para una segunda ronda de diseño.

    
respondido por el fceconel
2

Comenzaría con Angstrom Linux y luego me movería a Ubuntu si es necesario. Dudo que tengas que cambiar solo para que la cámara funcione.

Creo que el sistema operativo para el Beagleboard XM está almacenado en la tarjeta SD, por lo que si decide que necesita cambiar a otra cosa, puede obtener una segunda tarjeta SD, por lo que puede dejar el sistema operativo original intacto. Dependiendo del sistema operativo, es probable que puedas encontrar una imagen de tarjeta SD preconstruida que permita el arranque del Beagleboard.

Para un IDE, recomendaría comenzar con un editor de texto que funcione sobre SSH. Puede comenzar con Nano, a menos que haya usado Vim o Emacs anteriormente.

No estoy seguro de depurar C ++ en Beagleboard, pero puedes comenzar a compilar en Angstrom con g ++. Podrás ejecutar código desde la línea de comandos.

    
respondido por el pingswept
2

SO

¿Realmente depende de lo que te gustaría hacer?

Tiene tres opciones basadas en el núcleo de Linux:

  • Angstrom es una distribución clásica de GNU / Linux creada para este tipo de dispositivos.
  • MeeGo es la excelente plataforma basada en Nokia / Intel Qt que se usará mucho en los sistemas de información y entretenimiento en automóviles (y en algunos teléfonos Nokia).
  • Android es el sistema operativo Google phone, en su mayoría Java

Y algunas distribuciones de Linux de escritorio:

  • Ubuntu
  • Gentoo

Y luego algún otro sistema operativo:

  • Symbian que es un sistema operativo de teléfono del 99% (no lo recomendaría)
  • QNX Creo que tiene algunas cosas en tiempo real con las que podría ser divertido jugar
  • WinCE Y tienes el clásico mirando hacia abajo de la plataforma Windows.

Y realmente empezaría a jugar con las cosas en este orden

  1. Angstrom, ya que parece ser más fácil en el Beagleboard
  2. MeeGo ya que Qt es una buena libra para trabajar con
  3. Android, ya que es bueno saberlo
  4. QNX

Pero para el resto de esta pregunta, solo me centraré en las opciones basadas en Linux.

Instala el sistema operativo

Depende, pero la mayoría de ellos usa la tarjeta SD.

Pero en el modo de depuración, puede usar una combinación que carga el kernel sobre tftp y ejecuta el sistema de archivos raíz sobre nfs

IDE y depuración

Para jugar el kernel necesitas la línea de comandos, un buen editor como vim / emacs. Para depurar el kernel necesita un depurador para ejecutar el jtag.

Pero para el desarrollo de aplicaciones puedes usar la forma clásica (con un buen editor y muchos makefiles). O tal vez algo como eclipse.

La depuración de aplicaciones generalmente se realiza con gdb.

En Linux, puede utilizar un editor de texto normal o tal vez Eclipse.

    
respondido por el Johan

Lea otras preguntas en las etiquetas