Debug Stellaris Lauchpad com OpenOCD
Desenvolver sem debug é tenso.
Depois de encontrar o projeto http://energia.nu que é um port da API do Arduino para Stellaris e MSP430 descobri que existe o mesmo problema do Arduino, não tem debug avançado.
Energia é um clone do Arduino para Stellaris / Tiva C / MSP430 |
Estendendo o processo investigativo, descobri o toolchain usado no Energia
O Energia usa a toolchain GCC do Yagarto [ http://www.yagarto.org/ ] |
Dai que essa toolchain já vem com o “arm-none-eabi-gdb.exe” e “arm-none-eabi-gcc.exe”.
Isso é um bom sinal, já tem o GDB pronto para rodar, só não tem contato dele com a IDE.
É ai que entra em cena o OpenOCD (Open On-Chip-Debugger) que é uma ferramenta ao estilo Linux, que faz interface com praticamente todos os hardware de debug existentes na Terra!
Para minha alegria a partir da versão 0.7.0 do OpenOCD, a interface ICDI da Stellaris e Tiva C, já são suportadas automagicamente.
Uma vez aberto o OpenOCD, agora entra a parte de compilar uma aplicação com flags de Debug do GCC e usar o GDB para depurar.
Outra toolchain GCC muito boa é a do Linaro.
http://www.linaro.org/downloads/
http://launchpad.net/gcc-arm-embedded/4.7/4.7-2013-q1-update/+download/gcc-arm-none-eabi-4_7-2013q1-20130313-win32.exe