Você está na página 1de 15

BeagleBone con Angstrom

Eleccin del sistema operativo


El sistema operativo elegido para trabajar con la tarjeta BeagleBone fue Angstrom,
adems de hacer uso de la BeagleBone Memory LCD4 Cape, la cual es una LCD
resistiva de 4.3, para trabajar en dicha LCD el fabricante recomienda el kerner de
Linux adecuado a la pantalla que se encuentra en la siguiente pgina:
http://elinux.org/CircuitCo:BeagleBone_LCD4

Para descargarlo y realizar la imagen en Windows se deber elegir la primera


opcin, si el sistema operativo es Linux utilizar la segunda opcin (para este caso
se trabajara en Windows).

Se descarg la imagen ms reciente con soporte para la LCD, BeagleBone Rev


A6A Production 11-22-12.

Una vez que se tenga la imagen en la PC se deber montar sobre una memoria
uSD para la BeagleBone, a continuacin se muestran los pasos a seguir:
Formatear la uSD: Se recomienda usar el programa HP USB Disk Storage Format
Tool de Hewlett-Packard Company para borrar todas las particiones en la uSD si
es que tuviera alguna. Dicho programa es gratuito.

Cargar la imagen: Teniendo la memoria formateada solo queda cargar la imagen a


la uSD, para este paso se har uso del programa Win32DiskImager el cual es
sencillo de usar y permite cargar la imagen a la uSD, solo seleccionando la
memoria y la imagen.

Una vez que se tenga la imagen en la memoria se deber ingresar a la


BeagleBone para el correcto funcionamiento ingresando al escritorio de Angstrom,
la tarjeta tiene que estar conectada a una red mediante Ethernet para la descarga
de los programas y configuraciones. La computadora host tiene el sistema
operativo Ubuntu de Linux donde se comunicara remotamente con la BeagleBone
mediante ssh. A continuacin se muestran los pasos para comunicarse con la
BeagleBone:
En el sistema operativo de Linux se deber abrir una terminal y averiguar la
direccin IP de la tarjeta, eso se logra con el siguiente comando, nmap T4 F
192.168.1.0-255.

Para saber cul es la IP del dispositivo se debe identificar que cuenta con el
servicio ssh por el puerto 22.

Para este caso el IP de la BeagleBone es 192.168.1.65, una vez identificada la


direccin se deber comunicarse mediante ssh usando el siguiente comando, ssh
192.168.1.65 -l root.

En muchas ocasiones es probable que ocurra el anterior error al ingresar el


comando para eliminar el error se deber usar el siguiente comando, ssh-keygen R (IP)(IP es la IP de la tarjeta).

En seguida usar el comando ssh 192.168.1.65 -l root nuevamente, y contestar si


cuando te pregunte al conectarse y la BeagleBone no tiene contrasea por lo cual
cuando se pida solo se debe dar enter.

Una vez que se est dentro de la BeagleBone se debe instalar el programa qt4embedded, para instalarlo correctamente se deben de seguir los siguientes
comandos en orden opkg, opkg update, opkg install qt4-embedded.

Una vez terminado el proceso se debe cambiar el escritorio a modo comando ya


que estando dentro del escritorio GNOME que trae por default el sistema operativo
no permite el funcionamiento de programas con entorno grafico desarrollados en
QTCreator, por lo cual se usaran los siguientes comandos para deshabilitar el
escritorio GNOME y poder correr los programas, update-rc.d f gdm remove,
systemctl disable gdm.service, finalmente reboot para reiniciar la tarjeta.

Una vez realizados todos los comandos, la BeagleBone deber mostrar la


siguiente pantalla de inicio:

Con dicho entorno se podrn descargar los programas realizados en QTCreator


sin problema alguno si se siguieron todos los pasos anteriores para configurar
correctamente la BeagleBone, una vez teniendo lista la BeagleBone se debe
configurar la computadora que actuara como HOST, en dicha PC se realizaran y
compilaran los programas para nicamente ser descargados a la tarjeta ahorrando
tiempo de compilacin si se quisieran compilar en la BeagleBone.
Para instalar el entorno de desarrollo QTCreator se deben instalar antes algunas
herramientas para que funcione correctamente, inicialmente se debe instalar el
build essential con el siguiente comando sudo apt-get install build-essential,
seguido del comando para instalar las libreras, sudo apt-get install zlib1g-dev
libncurses5-dev.

El QTCreator usado en este caso fue la versin 5.2.1 para Linux en 64bits, que se
puede descargar gratuitamente desde la pgina oficial de QT o usando el
siguiente
link:
http://mirror.os6.org/qtproject/official_releases/qt/5.2/5.2.1/qtopensource-linux-x64-5.2.1.run
Para poder instalarlo se debe encontrar la carpeta donde se descarg y usar el
clic secundario sobre el archivo el cual debera ser .run, en seguida ir a la pestaa
Properties>Permissions habilitando la opcin Allow executing file as program, con
lo anterior se puede instalar el programa solo dando doble clic sobre el archivo y
siguiendo el men de instalacin del programa.

Una vez instalado el QT Creator se deber instalar el tool-chain y el compilador


especial para dispositivos Linux en este caso la BeagleBone, primeramente se
tiene que descomprimir e instalar el tool-chain para este paso se debe estar dentro
de la terminal y ubicados en la carpeta donde se encuentra el archivo tool-chain
que para este caso se us el archivo angstrom-2011.03-x86_64-linux-armv7alinux-gnueabi-toolchain-qte-4.6.3.tar.bz2, el comando a usar para realizar este
paso es sudo tar xvj C / -f (archivo).

Una ver realizado este paso se deber compilar e instalar el opensource 4.6.3 Qt
4.6.3 para realizar estas acciones inicialmente se debe descomprimir usando el
siguiente comando tar xvzf qt-everywhere-opensource-src-4.6.3.tar.gz, estando
en la carpeta donde se encuentra el archivo.

Una vez hecho esto se debe ingresar a la carpeta mkspecs>qws dentro del folder
descomprimido y copiar la carpeta de nombre linux-arm-g++ cambiando el nombre
por linux-DM3730-g++.

Dento de la carpeta linux-DM3730-g++ se encuentran dos archivos cuyos nombres


son qmake.conf y qplatformdefs.h, el archivo qmake.conf se tiene que editar con el
siguiente contenido:
#
# qmake configuration for building with arm-linux-g++
#
include(../../common/g++.conf)
include(../../common/linux.conf)
include(../../common/qws.conf)
# modifications to g++.conf
#Toolchain
#Compiler Flags to take advantage of the ARM architecture
QMAKE_CFLAGS_RELEASE =
-O3 -march=armv7-a -mtune=cortex-a8 mfpu=neon -mfloat-abi=softfp
QMAKE_CXXFLAGS_RELEASE = -O3 -march=armv7-a -mtune=cortex-a8 mfpu=neon -mfloat-abi=softfp
QMAKE_CC = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/gcc
QMAKE_CXX = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++
QMAKE_LINK = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++
QMAKE_LINK_SHLIB
=
/usr/local/angstrom/arm/arm-angstrom-linuxgnueabi/bin/g++
# modifications to linux.conf
QMAKE_AR = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/ar cqs
QMAKE_OBJCOPY
=
/usr/local/angstrom/arm/arm-angstrom-linuxgnueabi/bin/objcopy
QMAKE_STRIP = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/strip
load(qt_config)

Para poder editar el archivo se abre en un editor de texto y se pega el anterior


texto.

Una vez hecho esto se ingresa nuevamente a la carpeta raz qt-everywhereopensource-src-4.6.3, y se configura con el siguiente comando. /configure opensource -confirm-license -prefix /opt/qt-arm -no-qt3support -embedded arm platform qws/linux-x86_64-g++ -little-endian -xplatform qws/linux-DM3730-g++ qtlibinfix E qt-mouse-pc qt-mouse-linuxtp qt-mouse-linuxinputpch no-sql-ibase
no-sql-mysql no-sql-odbc nosql-psql no-sql-sqlite no-aql-sqlite2 no-webkit
nomake examples nomake demos nomake docs nomake translations.

En seguida de la configuracin se debe instalar el paquete usando el comando


make y make install, la ejecucin de dichos comandos puede tardar 30 minutos o
una hora.

Una vez instalado totalmente el entorno QT Creator adems del compilador para
los dispositivos Linux nicamente queda configurar el programa para, para ese
caso se siguen las siguientes instrucciones:
Ingresar al programa QT>Tools>Options

Ingresar a la opcin Build &Run y agregar un Kit, al cual se le llamo BeagleBone,


se le agregaran los siguientes parmetros:

En la opcin de Compilers se agregara uno nuevo en este caso se le nombro


Beaglebone GCC y se encuentra en la direccin indicada en Compiler path:

Para la opcin de Debuggers se agregara uno nuevo y se encuentra en la


direccin indicada en el Path, para este caso se llam GDB:

Finalmente en la opcin de versiones de Qt o Qt Versions se crea una nueva


versin en este caso el nombre de la versin fue Qt 4.6.3 (qt-arm), dicha versin
se encuentra en /opt/qt-arm/bin/qmake, que se debe agregar a la opcin qmake
location:

Una vez agregados todos los parmetros se aplican y aceptan todos los cambios
en la ventana Buil & Run. Solo queda agregar el dispositivo al cual le cargaremos
los programas, el dispositivo se agrega nuevamente en Tools>Options pero en la
opcin Devises, ah se agrega un nuevo dispositivo agregando un nombre para
este caso es Beaglebone Device, se agrega la direccin IP de la BeagleBone as
como el puerto SSH que es el 22, agregar el Username de la Beaglebone el cual
es root y si es necesario aumentar el Timeout en este caso tiene un timeout de
50s, hacemos un test y verificamos que se pueda conectar correctamente con el
dispositivo Linux.

Ya se tiene la configuracin completa del entorno Qt nicamente falta agregar


algunos parmetros para correr el programa. Una vez que se haya realizado un
proyecto en Qt hay que agregar algunas direcciones y comandos para poder
correr el programa para eso hay que ingresar a Projects con el proyecto abierto y
agregar la direccin donde se encuentra el proyecto en el host y donde se
descargara en la BeagleBone adems de agregar el comando qws para correr
los programas descargados.

|
Cuando se crea un un programa grafico en Qt y se necesita presionar algun boton
o hacer uso del mause se recomienda agregar el siguiente comando antes de
correr el programa, QWS_MOUSE_PROTO=LinuxInput:/dev/input/event0, que es
el evento donde se encuenta la pantalla tactil.

Pginas de inters:
http://elinux.org/CircuitCo/BeagleBone#Image_Files
http://elinux.org/CircuitCo:BeagleBone_LCD4
http://www.youtube.com/playlist?list=PLF4A1A7E09E5E260A

Você também pode gostar