Tabla de Contenidos

Configuración del entorno de desarrollo (OSX/MacOS)

Utilizaremos OSX en los ejemplos de cómo instalar las herramientas necesarias en nuestro sistema para poder compilar el firmware y grabarlo en la EDU-CIAA.

Instalador de XCode

XCode debe descargarse desde el App Store. Tener en cuenta que en su versión actual (2015/10) son 3.6GB.

Instalación de Homebrew

Homebrew es un administrador de paquetes para OSX. Para instalarlo se debe ejecutar la siguiente instrucción en una ventana de la aplicación Terminal:

  ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  

Notas para OSX El Capitan

El software instalado por Homebew reside en el directorio /usr/local. Este directorio no existe al momento de la instalación del sistema y no podrá ser creado en El Capitan debido a SIP (System Integrity Protection).

Para desactivar SIP, en el arranque del sistema presionar las teclas Comando y R al mismo tiempo hasta que aparezca el logo de la manzana. Una vez en la pantalla de recuperación, acceder al menú Utilidades → Terminal y ejecutar:

  csrutil disable --without debug
  

Reintentar la instalación de curl.

Instalación del compilador

Primero necesitaremos un compilador para ARM:

  brew install gcc-arm-none-eabi

Comprobamos que la versión del compilador sea 4.8.4

$ arm-none-eabi-gcc --version

Deberá aparecer la leyenda:

arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.8.4 20140725 (release) [ARM/embedded-4_8-branch revision 213147] Copyright (C) 2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Instalación OpenOCD

Para instalarlo:

  brew install openocd

Para comprobar que la herramienta esté instalada, ejecutamos:

$ openocd --version   

Conflictos entre OpenOCD y driver FTDI del sistema operativo

Apple incluye en su sistema operativo un driver para los conversores seriales FTDI que no es compatible con OpenOCD. Para poder grabar la placa, es necesario descargar el controlador, ejecutar `make donwload` y luego volver a cargar el controlador:

  sudo kextunload -b com.apple.driver.AppleUSBFTDI
  make download
  sudo kextload -b com.apple.driver.AppleUSBFTDI
  

Si se desea automatizar esta tarea, se puede abrir el archivo Makefile de la carpeta ciaa-nxp e insertar esas líneas alrededor del comando openocd:

@sudo kextunload -b com.apple.driver.AppleUSBFTDI || echo "Sin descarga"
@openocd -f ciaa-nxp.cfg \
	-c "init" \
	-c "halt 0" \
	-c "flash write_image erase unlock $^ 0x1A000000 bin" \
	-c "reset run" \
	-c "shutdown"
@echo "Reloading KEXT for FTDI access"
@sudo kextload -b com.apple.driver.AppleUSBFTDI || echo "Falla al cargar"

La contraseña del usuario será requerida para realizar las acciones de load/unload.

Conexión serial con el dispositivo

Los ejemplos de CIAA utilizan el paquete pyserial para comunicación, para instalarlo en OSX:

  
  brew install python
  pip install pyserial
  

Una vez instalado, el comando para la comunicación es:

  miniterm.py -p /dev/cu.usbserial-141B -b 115200

Ahora podremos grabar el firmware en la placa, siguiendo las instrucciones en Grabando el firmware en la placa