Descargar, descomprimir y compilar OpenOCD:
cd ~/ciaa-ide wget http://ufpr.dl.sourceforge.net/project/openocd/openocd/0.9.0/openocd-0.9.0.tar.bz2 tar -xvjf openocd-0.9.0.tar.bz2 cd openocd-0.9.0 ./configure --enable-ftdi make
Copiar los permisos de OpenOCD en las reglas de udev y reiniciar el servicio:
sudo cp contrib/99-openocd.rules /etc/udev/rules.d/ sudo service udev restart
Si ya ha clonado el repositorio de firmware, conectar mediante USB DEBUG. Si estaba conectada, desconectarla y volver a conectarla. Luego, probar OpenOCD:
./src/openocd -f ~/ciaa-ide/workspaces/Firmware/modules/tools/openocd/cfg/cortexM4/lpc43xx/lpc4337/ciaa-nxp.cfg
Debería verse lo siguiente:
Open On-Chip Debugger 0.9.0 (2015-05-12-12:27) Licensed under GNU GPL v2 For bug reports, read http://openocd.sourceforge.net/doc/doxygen/bugs.html Info : only one transport option; autoselect 'jtag' adapter speed: 2000 kHz none separate cortex_m reset_config vectreset Info : clock speed 2000 kHz Info : JTAG tap: lpc4337.m4 tap/device found: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4) Info : JTAG tap: lpc4337.m0 tap/device found: 0x0ba01477 (mfg: 0x23b, part: 0xba01, ver: 0x0) Info : lpc4337.m4: hardware has 6 breakpoints, 4 watchpoints Info : lpc4337.m0: hardware has 2 breakpoints, 1 watchpoints
(ctrl+c para terminar)
Para descargar el OpenOCD compilado y listo para utilizar (actualmente la versión 0.9.0), puede irse a la zona de descargas de la web de freddiechopin o directamente descargarse del siguiente link
Al momento de instalar los drivers, debe tenerse en cuenta que funcionará como 2 dispositivos distintos, y por lo tanto cada uno tendrá un driver asociado. Lo primero es instalar los drivers por defecto del fabricante FTDI para puerto virtual (VCP). En el Administrador de Dispositivos deberían aparecer 2 nuevos puertos COM, tal como sigue:
Luego para el canal A (también aparece como 'Converter A' o 'Interface 0'), debe reemplazarse el driver actual de FTDI por otro llamado WinUSB utilizando la aplicación zadig para la versión de Win correspondiente, para que OpenOCD pueda funcionar correctamente. Debe ir al menú 'Options⇒List All Devices', elegir 'USB Serial Converter A' y cambiar el driver nuevo a 'WinUSB', para luego hacer click en 'Reinstall Driver', tal como se ve aquí:
Finalmente 1 de los 2 puertos COM virtuales debería desaparecer, y se crea un dispositivo USB nuevo cuyo driver dejó de ser el de FTDI, quedando todo de la siguiente manera:
Esta solución fue encontrada en: https://github.com/pbatard/libwdi/issues/1