-
Notifications
You must be signed in to change notification settings - Fork 2
2.3.2 Derinimas (angl. debugging) su OpenOCD
blahlt edited this page Sep 16, 2018
·
3 revisions
- Iš http://gnutoolchains.com/arm-eabi/openocd/ parsisiunčiam OpenOCD-0.9.0-Win32.zip (reiktų išbandyti iš https://github.com/gnuarmeclipse/openocd/releases)
- Išskleidžiam ir kopijuojam į C:\OpenOCD
- Pasileidžiam cmd.exe ir rašom: cd C:\OpenOCD\bin && C:\OpenOCD\bin\openocd.exe -s ../share/openocd/scripts -f ../share/openocd/scripts/interface/stlink-v2.cfg -f ../scripts/target/stm32f1x.cfg
-s raktas reikalingas, kad žinotų iš kur krauti subskriptus
- Einam į projekto Properties, į C/C++ General->Paths and Symbols, tada į Symbols skiltį ir ten pridedam TRACE ir OS_USE_TRACE_SEMIHOSTING_DEBUG raktus
- Kode įtraukiam Trace.h failą įrašydami #include "diag/Trace.h" ir kodą papildom pvz.:
uint8_t i = 0;
while (1) { trace_printf("i=%u\n", i++); }
- Projektui padarom Build ir sukuriam naują GDB Hardware Debugging tipo konfigūraciją. Hostname: localhost, Port: 3333, o Startup skiltyje prie Initialization Commands įrašom monitor arm semihosting enable)
- Spaudžiam Apply ir Debug
- Kode įrašom:
#include "diag/Trace.h"
ir
uint8_t i = 0;
while (1) { trace_printf("i=%u\n", i++); }
- Einam į projekto Properties, ten į C/C++ General->Paths and Symbols, tada į Symbols skiltį ir ten pridedam TRACE ir OS_USE_TRACE_SEMIHOSTING_DEBUG raktus
- Norint sudiegti naują derinimo (angl. debug) konfigūracijos tipą einam Help->Install New Software...
- Work with: įrašom http://gnuarmeclipse.sourceforge.net/updates ir gaunam įrankių sąrašą
- Pažymim GNU ARM C/C++ OpenOCD Debugging, spaudžiam Next >, Next >, uždedam varnelę ant I accept the terms of the license agreement, spaudžiam Finish (gali išmesti saugumo pranešimą, kuriame spaudžiame OK) ir restartuojame Eclipse
- Padarom projektui Build (kitaip neleis sukurti derinimo (angl. debug) konfigūracijos)
- Pažymim projektą ir einam Run->Debug Configurations...
- Sukuriam nauja GDB OpenOCD Debugging konfigūraciją
- Debugger skiltyje prie Config options: įrašom -s C:\OpenOCD\share\openocd\scripts -f C:\OpenOCD\share\openocd\scripts\interface\stlink-v2.cfg -f C:\OpenOCD\share\openocd\scripts\target\stm32f1x.cfg
- Spaudžiam Apply ir Debug
Jei meta klaidą:
Error: init mode failed (unable to connect to the target)
in procedure 'init'
in procedure 'ocd_bouncer'
tai spaudžiant Debug laikom nuspaudė STM32F103 RESET mygtuką ir jau kitą kartą klaidos nebebus.