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.
XCode debe descargarse desde el App Store. Tener en cuenta que en su versión actual (2015/10) son 3.6GB.
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)"
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.
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.
Para instalarlo:
brew install openocd
Para comprobar que la herramienta esté instalada, ejecutamos:
$ openocd --version
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.
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