Condor:SAM-BA

Generalidades de SAM-BA
SAM-Boot Assitant es una tecnologia implementada en algunos microcontroladores ATMEL para la secuencia de arranque del dispositivo. Esta secuencia esta predefinida por defecto y se puede encontrar en la hoja de datos de cada procesador. En General se puden identificar los siguientes pasos:


 * Verificación del estado físico del cristal (Existe o no).
 * Verificación de archivo de arranque en Flash interna.
 * Verificación de archivo de arranque en Flash externa.
 * DataFlash: Se seleccionan uno a uno los CS (Chip-Select)existentes para este tipo de dispositivo en búsqueda del archivo de arranque.
 * NandFlash: Se busca en la primer dirección de la NandFlash el archivo de arranque.

La secuencia mencionada es llevada acabo hasta encontrar un sector de arranque valido. Cuando esto sucede el procesador descarga el segmento de memoria correspondiente en la RAM. Luego se puede empezar a ejecutar el programa.

En la siguiente Figura se puede observar el flujo de arranque para el procesador AT91SAM9260. Tomado de la hoja de datos del AT91SAM9260

La última versión de SAM-BA para linux puede ser descargada desde aquí, el archivo solo debe de descomprimirse y continuar con la configuración

Instalación de SAM-BA sobre Ubuntu 11.04
La instalación y configuración de las herramientas necesarias para la comunicación con el protocolo SAM-BA son descritas a continuación.(No conectar ningún dispositivo con SAM-BA incorporado)

lsusb Se debe obtener: Bus 004 Device 006: ID 03eb:6124 Atmel Corp ln -sf /dev/ttyACM0 /dev/ttyUSB9 sam-ba
 * Ejecutar en el terminal:
 * El programa no reconocerá la ruta creada por el driver en /dev/ttyACM0 y es necesario crear un vinculo a /dev/ttyUSB9. Ejecutar en el terminal:
 * Iniciar sam-ba. Ejecutar en el terminal:





Utilización de Scripts para la programación de los elementos de almacenamiento de la tarjeta
El asistente SAM-BA puede ser ejecutado en modo gráfico o en consola a través de Scripts. Esto permite que el usuario ejecute instrucciones pre-programadas para automatizar la descarga del código en el procesador y/o elementos de almacenamiento. Para conocer el funcionamiento del lenguaje TCL utilizado en los scripts del SAM-BA puede consultar el siguiente link


 * Para la ejecución de sam-ba sobre Ubuntu 12.04 se debe tener permiso sobre los links del puerto /dev/ttyUSB9, esto se puede omitir ejecutando sam-ba como super usuario

sudo rm -R /dev/ttyUSB9 sudo ln -sf /dev/ttyACM0 /dev/ttyUSB9 sudo sam-ba variable extRamDataBusWidth 16
 * (REVISAR AQUI JOSH)
 * Recuerde cambiar en el archivo de tcl la configuración de la memoria RAM para corresponda con la instalada en la CondorBoard /opt/sam-ba_cdc_linux/tcl_lib/at91sam9xe128-ek

Script para la inicialización de la DataFlash SAM9260:SAM-BA_Script

Pruebas de funcionamiento utilizando el ejemplo BlinkLedSAM9260
Para la realización de estas pruebas de funcionamiento se hace uso del código que ATMEL entrega como ejemplo para la realización del Bootstrap en el procesador AT91SAM9260, este código puede ser encontrado en el siguiente link y la documentación necesaria para su manipulación puede ser encontrada en la siguiente dirección.

A continuación se muestra el resultado de la consola que ejecuta el asistente SAM-BA para linux, con los siguientes parámetros de programa:
 * Localización del dispositivo SAM-BA
 * Plantillas para la tarjeta, en este caso se hace uso de la plantilla que Atmel provee en la tarjeta AT91SAM9260-EK, dado que se utiliza el mismo procesador.
 * El Script de programación respectivo.

En el asistente SAM-BA del microprocesador responde a cada una de las instrucciones a través de una consola de depuración. El resultado de la consola es mostrado a continuación:

El siguiente vídeo ilustra el funcionamiento del programa:

_VB8b3JwllQ

Volver