Mostrando entradas con la etiqueta cubieboard. Mostrar todas las entradas
Mostrando entradas con la etiqueta cubieboard. Mostrar todas las entradas

lunes, 19 de agosto de 2013

Continua la fiebre de los microcomputadores: Iteaduino PLUS

Desde la aparición de Raspberry Pi, han sido muchas las alternativas que han ido apareciendo, ofreciendo mayor capacidad de computo, mayor velocidad y otras mejoras. Hoy os traigo el último competidor que se apunta a la carrera. En este caso se trata de Iteaduino PLUS que incorpora un microprocesador A10 con arquitectura ARM Cortex-A8. Su precio es muy interesante en este momento ya que se encuentra en lanzamiento con su campaña IndieGoGo, por lo que ahora es posible conseguirlo por un precio muy inferior al que saldrá al mercado el próximo año.

El sistema recuerda bastante a CubieBoard dado que sus componentes son similares, incluso la distribución de los mismos sobre la placa es muy parecida. Incorpora un conector SATA y un conector de alimentación para disco duro, conector HDMI, Ethernet 10/100, 2 USB, audio de entrada y salida, 1GB de RAM DDR3 a 480Mhz, GPU Mali400 y conector para tarjetas microSD con soporte de hasta clase 10. Una de las principales ventajas es que en ITEAD han aprovechado su experiencia en el desarrollo de productos para Arduino y han diseñado esta placa de forma que presenta una amplia compatibilidad con los módulos diseñados para Arduino. Para potenciar esta compatibilidad, han dedicando un conector especifico para la expansión utilizando un Shield que ofrece un interfaz de conexión como el de Arduino.
Os invito a que descubráis todas sus ventajas y que participéis en su campaña de IndieGoGo, yo estoy ya deseando que tengamos el nuestro para comenzar con las pruebas y comprobar hasta donde podemos llegar con Iteaduino PLUS.


sábado, 10 de agosto de 2013

Creando una Recreativa con Raspberry Pi - Parte 3

Advance Mame es el proyecto para emulación Arcade que mejor resultado parece dar en dispositivos ARM. Por este motivo es el que vamos a aprender a compilar para nuestra Raspberry Pi o nuestra CubieBoard. A continuación os dejo los pasos necesarios, compatibles para ambos dispositivos siempre que tengan el sistema operativo Debian Whezzy instalado. Si todavía no habéis instalado Debian Whezzy en vuestra CubieBoard, podéis seguir este tutorial.


Compilando Advance Mame


Como siempre debes hacer login en el sistema para comenzar, recuerda que el usuario si usas Debian Whezzy es pi y contraseña es raspberry.

En primer lugar debes confirmar que estas con arm. Para conocer tu kernel puedes usar el comando:
uname -a
Debería obtener una salida como esta si utilizas Raspberry:
Linux rasberry-pi 3.0.4 #2 mon oct 17 17:39:42 ict 2011 armv61 GNU/Linux
O como esta si utilizas CubieBoard:
Linux rasberry-pi 3.0.24-a10-aufs+ #33 PREEMPT Sun Feb 24 21:17:26 CET 2013 armv71 GNU/Linux
Si no tienes instaladas las X o las opciones gráficas puedes hacerlo con el siguente comando:
sudo apt-get install lxde xorg python geany
En caso de tener algún problema con los mirrors o repositorios, es posible que sea porque han cambiado, puedes probar con el siguiente comando y luego volver a intentar ejecutar el anterior:
sudo apt-get update
Para poder compilar hacen falta algunas herramientas pero para no instalarlas una a una, lo más comod es instalar el conjunto de herramientas build-essential que aglutina las más importantes. Además habrá que instalar, los paquetes de desarrollo para GTK, para Gnome y para sdl. Para instalar todo lo necesario puedes utilizar el siguiente comando, pero ten en cuenta que puede tardar una o dos horas:
sudo apt-get install build-essential libgtk2.0-dev libgnome2-dev libsdl1.2-dev
sudo apt-get install libxv-dev libxv1
Descarga el código fuente de advmame, yo voy a probar con la versión 1.2: http://sourceforge.net/projects/advancemame/files/advancemame/1.2/advancemame-1.2.tar.gz. En caso de que no sea esa ya la última versión, podéis encontrar el nuevo enlace en la página del proyecto advance mame.
Para descargarlo puedes utilizar el programa wget como sigue:
wget http://sourceforge.net/projects/advancemame/files/advancemame/1.2/advancemame-1.2.tar.gz
Una vez descargado hay que descoprimir el archivo:
extract the archive.
tar -xvzf advancemame-1.2.tar.gz
cd advancemame-1.2/
Ahora hay que instalar la versión de compilador 4.7 y configurarlo como compilador por defecto.
sudo apt-get install gcc-4.7
sudo apt-get install g++-4.7
A continuación hay que configurarlos como compiladores por defecto, para eso hay que cambiar los enlaces simbólicos que hay en la carpeta /usr/bin. Utilizando el comando grep podemos filtrar el contenido de la carpeta /usr/bin para comprobar si efectivamente existen los enlaces al compilador que queremos establecer como nuevo compilador por defecto, en este caso es la versión 4.7:
sudo ls -la /usr/bin | grep gcc-4.
sudo ls -la /usr/bin | grep g++-4.
Ahora eliminamos los enlaces simbólicos actuales si existen:
sudo rm /usr/bin/gcc
sudo rm /usr/bin/g++
Creamos los nuevos enlaces al compilador que queremos utilizar:
sudo ln -s /usr/bin/gcc-4.7 /usr/bin/gcc
sudo ln -s /usr/bin/g++-4.7 /usr/bin/g++
Por último queda configurar y compilar, esto puede tardar entre 2 y 3 horas:
sudo ./configure
sudo make
sudo make install


Configurando un servidor FTP


Ahora para probar nuestras ROMs instalamos un servidor FTP, en concreto para debian Whezzy utilizamos vsftpd y a través de un cliente FTP como por ejemplo Fillezila podemos cargar las roms en nuestra Cubieboard/Raspberry Pi.
sudo apt-get install vsftpd
Una vez que vsftpd está instalado, hay que configurarlo, para ello editamos su fichero de configuración de la siguiente forma:
sudo nano /etc/vsftpd.conf
Ahora hay que descomentar las lineas correspondientes a las siguientes eliminando el simbolo # almohadilla, o bien sustituyendo los valores YES por No o viceversa hasta dejarlo de la siguiente forma:
Anonymous_enable=NO
Write_enable=YES
Local_enable=YES
Ascii_upload_enable=YES
Ascii_download_enable=YES
Por último hay que reiniciar la cubieboard o raspberry pi, y ya tendremos la posibilidad de conectar a ella a través del servidor FTP utilizando su IP y el usuario pi con contraseña raspberry. Cargamos la ROM de prueba en la carpeta /home/pi/.advance/rom/ utilizando el cliente FileZilla. Para conocer la IP de la cubieboardo raspberry podemos utilizar el comando ipconfig .


Configurando los modos de vídeo


Para poder probar las ROMs en primer lugar hay que configurar la señal de reloj para generación de vídeo dependiendo del tipo de pantalla utilizado, en mi caso para una pantalla LCD he utilizado los siguientes valores:
device_video_clock 10 - 50 / 31.5 / 55 - 130 
En último lugar hay que configurar las opciones de vídeo para mame utilizando el programa advv. Para lanzarlo hay que escribir su nombre en la terminal:
advv
Una vez en la pantalla de configuración aparecerá toda una lista de configuraciones posible. En la esquina inferior izquierda aparece un cuadro cuyo valor será OUT OF RANGE si la configuración no es valida y PROGRAMABLE si la configuración se puede utilizar para nuestro emulador. Hay que ir desplazándose hasta encontrar una resolución con el valor PROGRAMABLE. En la parte superior de la pantalla puede verse que apareen los diferentes tipos de color, hay que elegir uno compatible con nuestro dispositivo utilizando las flechas derecha e izquierda, en mi caso he elegido brg32. Por último pulsando el botón ENTER se accede a la configuración del modo de vídeo. En caso de que de un error significa que la configuración no es valida y hay que seguir buscando hasta que aparezca una imagen de una rejilla.


Una vez en la pantalla de configuración habrá que centrar la rejilla utilizando las flechas para alinearla a la esquina superior izquierda y luego utilizando los botones U para extender por la derecha y SHIFT+U para reducir por la derecha. De igual modo con la tecla A se extenderá la pantalla hacia abajo y con SHIFT+A se reduce hasta conseguir que quede centrada. Una vez conseguido se pulsa la tecla ENTER y se volverá a la lista anterior guardando la configuración y se pulsa la tecla SPACE para habilitar dicha selección ya que las únicas que MAME podrá emplear serán aquellas que hayamos habilitado y por tanto si no las habilitamos no podremos iniciar la ejecución de ninguna ROM. Es necesario repetir este proceso para varias resoluciones dado que cada juego tiene una resolución y con esto quedarán ajustadas todas las resoluciones más utilizadas. Por último pulsamos la tecla F2 para guardar los cambios y ESC para salir. También es posible crear una configuración propia con la configuración que deseemos utilizando el botón F6 y siguiendo los pasos.



Hecho esto ya podemos volver a la consola y probar la ROM utilizando el comando advmame y un espacio seguido del nombre de la ROM. Hay que tener en cuenta que las imagen aparecerá mal porque todavía queda configurar los modos de vídeo dentro del emulador.


En primer lugar pulsamos de forma alternadas izquierda y derecha o bien pulsamos las teclas O y K sucesivamente para pasar la advertencia inicial. A continuación pulsamos el botón TAB y aparecerá el menú de configuración de MAME.



Ahora hay que seleccionar la opción VIDEO, pulsar ENTER y modificar la opción de color hasta que la imagen se aclare.


Ahora ya sólo queda realizar los ajustes al gusto y disfrutar de tus viejos juegos en tu CubieBoard/Rasbperry Pi. A la hora de obtener las ROMs os recuerdo que Advance Mame está basado en la versión 0.106 de MAME y por tanto es compatible con las ROMs creadas para dicha versión.

lunes, 5 de agosto de 2013

Instalando Sistema Operativo en CubieBoard con BerryBoot

Para instalar un sistema operativo en CubieBoard hay diferentes formas. Hoy vamos a ver como instalar un sistema operativo con BerryBoot. BerryBoot es un gestor de instalaciones originalmente creado para Raspberry Pi, pero que poco tiempo despues fue adaptado para los microprocesadores A10 y particularmente para CubieBoard. Con la versión actual que es la beta 6 es posible instalar berryWebSerber, Debian Whezzy Raspbian y Linaro. Debian Whezzy Raspbian es la misma versión de debian optimizada para Raspberry pero esta vez compilada para microprocesadores A10. En el caso de Linaro es una versión de Ubutnu light optimizada para microprocesadores A10.


Para instalar hay dos formas, instalando desde el sistema Android alojado en la NAND flash interna o bien directamente en la tarjeta micro SD.

Instalación a través de Android

Si utilizas cubieboard nueva, por defecto tiene instalado un sistema Android instalado en la NAND Flash interna. Lo único que hay que hacer es conectar la cubieboard a Internet a través del puerto ethernet, arrancar la cubieboard desde el Android y seguir los siguientes pasos:
  • Insertar una tarjeta SD de mínimo 4Gb y vacía o al menos que no contenga nada de valor.
  • Cuando haya detectado la tarjeta abrir el navegador la dirección  http://get.berryboot.com/ y descargar e instalar el archivo .apk alojado en esa dirección.
  • Una vez en la aplicación Berryboot: pulsar el botón "write image" y esperar.
  • Una vez que haya terminado pedirá reiniciar el sistema operativo y al arrancar de nuevo arrancará desde la tarjeta SD y entrará en BerryBoot donde podremos elegir el sistema operativo que queremos descargar e instalar. Además es posible añadir varios sistemas operativos y posteriormente aparecerá un gestor de arranque para seleccionar con cual de ellos queremos arrancar.


Instalación manual con una imagen para la tarjeta SD

Este método sólo funciona para la cubieboard y no para otros dispositivos con el microprocesador A10. El instalador de Android es universal y parchea la imagen automáticamente con las configuraciones del hardware copiandolas desde Android.
Fichero imagen para instalación manual:
Cubieboard ( modelo 1 GB )
berryboot-cubieboard-beta6.zip

A continuación os dejo una imagen para CubieBoard (1GB) en la que hay instalado un Sistema Operativo Raspbian al que hemos llamado Cubian.
Es necesario utilizar un grabador de imágenes como por ejemplo Win32diskimager en windows o dd en Linux para escribir la imagen en una tarjeta en blanco.

miércoles, 31 de julio de 2013

Creando una Recreativa con Raspberry Pi - Parte 2

Por fin vuelvo a las andadas, ya he terminado mi recreativa. Finalmente no la he montado con Rasbperry Pi sino con CubieBoard. El caso es que he probado diferentes sistemas de recreativas con Raspberry Pi y os comento los mas interesantes que he encontrado. De algunos de ellos he hablado en el blog anteriormente, así que para aquellos que estén pensando en montar una recreativa con Raspberry Pi, voy a hacer un pequeño repaso.

En primer lugar tenemos MamePi que va por su versión 0.7.6, este sistema incorpora Mame, Play Station, Super Nes, Nes y Mame4all. Originalmente funcionaba con Advance Mame, así que no se que diferencia de rendimiento se obtendrá al emplear Mame4all en su lugar. El caso es que SheaSilverman es el creador de este sistema y ha sido la luz que ha guiado mis pasos en esta oscura senda de la emulación en arquitecturas ARM. Os recomiendo echar un vistazo a su blog porque no tiene desperdicio.



Otra interesante opción es utilizar RetroPie. RetroPie es una completo sistema de emulación que incorpora multitud de máquinas recreativas y viejos computadores personales. Os dejo un vídeo para que veáis su funcionamiento, pero realmente el sistema es super completo, sus arquitectos han pensado en todo.


La última opción que he encontrado y que particularmente a mi es la que más me ha gustado es ChamaleonPi. Es una excelente y completa plataforma con una enorme colección de emuladores, consolas, computadores antiguos y SCUMM. Además Carles Oriol que es su creador, es un paisano de Cataluña a quien me gustaría dar la enhorabuena por el gran trabajo que ha realizado.



Todos estos proyectos son verdaderamente geniales, y sus creadores han hecho un gran trabajo. Sin embargo tras probar el funcionamiento de MAME sobre Raspberry Pi, llegué a la conclusión de que no es lo que yo buscaba. Para cualquier otra plataforma los emuladores consiguen un resultado muy bueno, pero MAME tiene el problema de no ser un sistema excesivamente optimizado ya que debe ser capaz de emular un número muy elevado de máquinas y para ello lo que se hace es sobrecargar el procesador, además MAME no suele hacer uso de aceleradoras lo que deja al procesador con todo el trabajo. En esta situación, creo que Raspberry no es el equipo ideal para MAME aunque otros emuladores funcionan estupendamente.

Como comente al comienzo de la entrada voy a utilizar CubieBoard, En próximas entradas voy a contaros paso a paso como crear el sistema vosotros mismos, cumpliendo las necesidades que encontraremos para obtener una maquina recreativa plenamente funcional. Acaba de salir CubiBoard 2 que incorpora un microprocesador A20 de doble núcleo, sin embargo me voy a basar en CubieBoard 1 ya que su precio es menor y para la mayoría de juegos es suficiente. A continuación os dejo una foto de la maquina que estamos montando.


La idea es que la CubieBoard quede dentro, junto a una fuente de alimentación y que desde fuera únicamente haya que conectar el cable de corriente y el cable HDMI, con un botón de encendido con la idea de que sea compacto.