ATMEGA168/es

From Qi-Hardware
Jump to: navigation, search

Contents

[edit] Programando la ATMEGA168

ECBOT cuenta con un microcontrolador ATMEGA168 programable a partir del procesador principal utilizando Uisp. Esta aplicación permite la programación de distintos microcontroladores, y esta disponible en diferentes distribuciones Linux. Para la utilización de la aplicación en openembedded, es necesario disponer de la receta propia de la distribución para Uisp, la cuál puede ser encontrada en [ Receta].

[edit] Preparando las fuentes

Con el fin de realizar la compilación es necesario disponer inicialmente los archivos de código fuente de Uisp para OE. En general, los archivos de código fuente podrían ser descargados del repositorio de la distribución. Sin embargo, en caso de que no sea posible su descarga, se pueden descargar desde [ aquí]. Este archivo deberá ser dispuesto en el directorio ruta_OE/OE/sources. Es importante generar el archivo md5 correspondiente al paquete, para la verificación del mismo, con la siguiente instrucción:

$ md5sum uisp-20050207.tar.gz > uisp-20050207.tar.gz.md5

Una vez realizado lo anterior, se debe modificar el archivo checksums.ini, localizado en el directorio ruta_OE/OE/openembedded/conf/. Este archivo contiene información de verificación par a la compilación de paquetes para la distribución. Cada paquete esta identificado con una dirección web, un código md5(Algoritmo de resumen del mensaje 5), y un código sha256(Algoritmo de Hash Seguro), los cuáles deben ser extraídos de la receta, utilizando los comandos que se muestran a continuación, desde el directorio ruta_OE/OE/

$ more sources/uisp-20050207.tar.gz.md5
$  sha256sum sources/uisp-20050207.tar.gz

Se debe editar el archivo checksums.ini, para que incluya lo siguiente:

http://savannah.nongnu.org/download/uisp/uisp-20050207.tar.gz
md5=b1e499d5a1011489635c1a0e482b1627
sha256=7c43c5f34f00a7243bda87457e43dc9122b5a3837b1370b30f39c1eecbedccae

Esta edición es necesaria para que el paquete sea compatible con la distribución.

[edit] Compilación de UISP

Tras la preparación de las fuentes de la aplicación, se puede compilar la misma, como se muestra a continuación.

$ cd /ruta_OE/OE/openembedded/recipes/oe_at91/local_packages/
$  bitbake -b uisp/uisp.bb

Si no se obtienen errores, se obtendrán los paquetes compilados para la distribución, los cuales pueden ser dispuestos en el sistema de archivos de la plataforma. Allí podrán ser instalados utilizando opkg.

[edit] Librerías Adicionales

Para la instalación de UISP en la plataforma, se deben disponer de algunas librerías de C, disponibles en el paquete libstdc++6_4.3.3-r7.1.3_armv4t.ipk, el cual se encuentra en el directorio ruta_OE/OE/ecbat91/out/deploy/glibc/ipk/. Asegúrese de copiar e instalar este paquete en la plataforma, de lo contrario, no podrá instalar UISP.

[edit] Driver para programación

Dado que el proceso de programación del microcontrolador ATMEGA168 requiere de algunos GPIO del procesador central AT91RM9200, es necesario disponer un driver para su utilización. Las fuentes para este driver pueden ser descargadas desde [ aquí]. Deberá realizar modificaciones al makefile, de acuerdo con su configuración particular para las fuentes del kernel dispuesto para la plataforma. Una vez disponga del driver (archivo .ko), debe proceder a cargarlo en el sistema de archivos, y activarlo utilizando los comandos insmod y mknod, como se muestra a continuación:

$ root@ecbat91:~# insmod robostix_drv.ko 
$ Device robostix registration OK 
$ mknod /dev/robostix0 c 251 0 
$ mknod /dev/robostix1 c 251 1 
$ root@ecbat91:~# mknod /dev/robostix0 c 251 0 

[edit] Utilizando UISP

Finalmente, podremos utilizar UISP para la programación del ATMEGA168, utilizando los siguientes comandos para el borrado y escritura del mismo, respectivamente:

$ uisp -dlpt=/dev/robostix4 -dpart=atmega168 --eras 
$ uisp -dlpt=/dev/robostix4 -dpart=atmega161 --upload if=avrledtest.hex 

Donde avrledtest.hex corresponde al archivo binario de programación para el ATMEGA168, según se requiera.

Personal tools
Namespaces
Variants
Actions
Navigation
interactive
Toolbox
Print/export