FoxG20

embedded

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Trasteando y Parcheando la FoxG20

Version con fotos /pdf /odt en http://icarus.perso.sfr.fr/FOXG20/
Problema de arranque en la FOX Board G20

La FOX Board G20 no arranca , solo sacando la batería y poniéndola en su sitio podemos recuperarla, la causa parece ser debida a un fallo de alimentación justo después del “Room Boot” y a un problema del firmware u-boot localizado en la DataFlash.Para solucionar el problema vamos a parchear el fichero fuente at91sam9260ek.c con un patch de Stefano Barbato (http://www.codesink.org) .

Parchear el fichero fuente

Vamos a descargar el fichero u-boot-2009.08.tar.bz2 y el parche foxg20-20091222.patch para corregir el problema de “boot” .El patch y el fichero uboot.bin para fijar el problema están disponibles en la pagina

http://foxg20.acmesystems.it/doku.php?id=dev:uboot

Para ello bajamos la versión de u-boot de este link

http://ftp.denx.de/pub/u-boot/u-boot-2009.08.tar.bz2

descomprimimos el fichero u-boot-2009.08.tar.bz2

$ tar xjvf u-boot-2009.08.tar.bz2

Entramos en el recien creado directorio de u-boot y copiamos el parche foxg20-20091222.patch en su interior

Ahora ejecutamos el parche

$ patch -p1 < foxg20-20091222.patch

Sourcery G++ Lite

Para recompilar nuestro nuevo uboot.bin parcheado utilizaremos Sourcery G++ Lite

Bajamos la versión Linux de Sourcery G++ Lite 2008q3-66 para ARM EABI desde este LINK

http://www.codesourcery.com/sgpp/lite/arm/portal/release642

Copiamos y ejecutamos arm-2008q3-66-arm-none-eabi.bin para instalar Sourcery G++

$ chmod +x arm-2008q3-66-arm-none-eabi.bin
$ ./arm-2008q3-66-arm-none-eabi.bin

La instalación comienza,

Seleccionamos la versión típica y aceptamos siempre por defecto

Configuramos las variables de contexto “environment variables”.Lógicamente los directorios pueden cambiar , y tendrás que adaptarlos a tu situacion

$ export ARCH=arm
$ export CROSS_COMPILE=//CodeSourcery/Sourcery_G++_Lite/bin/arm-none-eabi-

Ahora lanzamos la “cross compilación”

$ make at91sam9g20ek_dataflash_cs1_config
$ make

Tras ello obtendremos “el plomo se habra convertido en oro, nuestra piedra filosofal” el nuevo u-boot.bin .El fichero original u-boot.bin lo tenemos en

http://foxg20.acmesystems.it/download/u-boot.bin

preparado para ser insertado en la flash de la FOX Board G20

Samba el ultimo paso
Atmel suministra un set de herramientas para programar el microcontrolador AT91SAM9 a través del interface cliente USB.

Con la utilidad Atmel SAM-BA (SAM Boot Assistance) inicializaremos el contenido de 8Mb de la dataFlash instalada en la FOX Board G20
De hecho es el método usado por Acme Systems para inicializar las FOX Board G20

Descargaremos el fichero comprimido SAM-BA_CDC.zip (Linux - v1.13 current release)

El fichero lo tenemos en http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4359

y lo descomprimiremos en nuestro directorio home escribiendo

$ unzip sam-ba_2.9_cdc_linux.zip

En el interior del directorio del directorio SAMBA ,sam-ba_cdc_2.9.linux_cdc_linux creare un directorio foxg20 con los tres ficheros necesarios ,at91bootstrap.bin,fox20.tcl (Script para automatizar la copia en la Flash con SAM-BA), y nuestro nuevo u-boot.bin (que lo hemos recuperado de nuestro directorio u-boot-2009.08).

http://foxg20.acmesystems.it/download/at91bootstrap.bin

http://foxg20.acmesystems.it/download/u-boot.bin*Aquí voy a utilizar mi u-boot.bin que ha sido creado
en u-boot-2009.08 2009.08 , el cual esta parcheado y colocado estrategicamente en el directorio de SAM-BA;)

Para automatizar la copia en la DataFlash, un procedimiento automático de ACME SYSTEMS,

http://foxg20.acmesystems.it/download/foxg20.tcl

Solo nos queda conectar el MINI-USB ,( el puerto cliente de la FOX Board G20 ) hacia nuestro PC en UBUNTU

Cortorcicuitamos la FOX Board G20 en el punto estratégico (CS – 3V3) ver foto , tras arrancar quitamos el cortocircuito (que hemos realizado con unas pinzas por ejemplo, aunque en mi FOX Board G20 personal la he dotado de un terminal jumper para este propósito).

Efectuando en el terminal Ubuntu

$ lsusb
nos tiene que identificar algo así como
Device 008: ID 03eb:6124 Atmel Corp. at91sam SAMBA bootloader
escribimos
$ sudo modprobe usbserial vendor=0x03eb product=0x6124
y
$ dmesg

Ahora estamos en condiciones de comunicarnos con la FOX Board G20 a a través de SAM-BA

Ahora en el directorio de samba que en mi caso es
/home/icaro/sam-ba_cdc_2.9.linux_cdc_linux

ejecuto

./sam-ba /dev/ttyUSB0 at91sam9g20-ek foxg20/foxg20.tcl

y flasheamos con SAM-BA utilizando el puerto USB0

http://icarus.perso.sfr.fr/FOXG20/

Imagen de admin

¿Por qué pones esto como

¿Por qué pones esto como comentario de tu propio post vacío en lugar de ponerlo en él?

Coctel FoxG20 y Microchip I2C

Basada en la Foxboard LX su predecesora y basada en el micro Atmel AT91SAM9G20 un 400Mhz ARM9 CPU
la pagina del fabricante http://www.acmesystems.it/
Con 64 Mb de Ram , USB2 ,0.3W de consumo ,lector microSD para instalar nuestra distribución Linux , la Debian Lenny por ejemplo, y con un acceso a los puertos GPIO , genial para crear autómatas , robots , sistemas domoticos, GPIO que incluye el inmortal puerto serie , entradas analógicas , I2C.....

Personalmente me interesa el acceso I2C (por la facilidad de implementar una periferia de forma sencilla ) dentro de los perfericos I2C podemos encontrar entre otros : extensores de puertos (lo que nos permite ampliar la cantidad de puertos de entrada salida ) , conversores A/D o D/A medidores de temperatura , memorias …..

He dejado unas recetas de cocina sobre como experimentar el I2C sin complicarnos mucho la vida , desde un kit de bajo coste de Microchip que nos ofrece una placa a 17 euros MICROCHIP - PKSERIAL-I2C1 - KIT, PICKIT SERIAL I2C código Farnell 1617324 , en esta placa tenemos una EPROM, un sensor de temperatura,un ADC , un DCA y un extensor el MCP23008 de 8 bits configurables como entrada o salidas , todos I2C.

En la segunda receta de cocina y armado tan solo del MCP23008 (1,23 euros ) y unos leds podemos experimentar el control de entradas y salidas de nuestro sistema embarcado

La experimentación del I2C con el KIT de microchip
http://www.youtube.com/watch?v=wwUej7g9Kp4

El montaje discreto del MCP23008 con una simulacion en paralelo con PROTEUS
http://www.youtube.com/watch?v=t52SLbxYiuw

Y si os interesa el bajo nivel el I2C con MICROCHIP

http://www.youtube.com/watch?v=0EzId0cDM_c