EBlink - GDB Server für ARM Cortex-M Mikrocontroller

Es gibt nicht viele Informationen im Netzwerk über den EBlink-Server, der vor einigen Jahren erschienen ist. Dieser Beitrag wird versuchen, die Situation zu beheben.


EBlink unterstützt die meisten STM32-Mikrocontrollermodelle (Serien F0, F1, F2, F3, F4, F7, H7, L0, L1, L4, G0 und G4) sowie EFR32.


Interessant ist, dass es Skripte in der C-ähnlichen Sprache Squirrel unterstützt , die beim Flashen und Debuggen von Mikrocontrollern eine Rolle spielen. Auf diese Weise können Sie die Skripts bearbeiten, um neue Mikrocontroller hinzuzufügen oder die Arbeit mit vorhandenen zu ändern, ohne den EBlink-Quellcode zu beeinträchtigen. Ich kann auf diese Weise annehmen, dass es möglich ist, Mikrocontroller mit einem ARM-Cormex-M-Kern von anderen Herstellern, beispielsweise der Firma Milander , hinzuzufügen , dies wurde jedoch nicht überprüft.


Unterstützt werden die Debugger ST-Link v2 und v3 sowie CMSIS-DAP.


Ausführbare Dateien für Windows x86, Linux x86-64 und Raspberry PI sind derzeit verfügbar. Der Entwickler verspricht, den Quellcode in Zukunft zu veröffentlichen.


Die neueste Version kann von github heruntergeladen werden .
Die aktuelle Version 2.0 wird auf die Festplatte hochgeladen .


Still über die Befehlszeilenschnittstelle Version 2.0.

eblink - Nutzung:


EBlink <options> -h, --help Print this help -g, --nogui No GUI message boxes -v <level>, --verbose <0..7> Specify level of verbose logging (default 4) -a [type], --animation [0..] Set the animation type (0=off, 1 = cursor, >1 = dot) -I <options>, --interf Select interface -T <options>, --target Select target(optional) -S <file>, --script <file> Load a device script file -D <def>, --define <def> Define script global variable "name=value" -F <options>, --flash <options> Run image flashing -G [options], --gdb <options> Launch GDB server --script and --interf are mandatory, normally combined with --flash or/and --gdb eg EBlink -I stlink -S stm32-auto -G EBlink -I stlink -S stm32-auto -G -D flashSize=1024 -D ramSize=16 EBlink -I stlink,dr,speed=3000 -S silabs-auto -F erase,verify,run,file=mytarget.elf EBlink -I cmsis-dap -T cortex-m,nu -S stm32-auto -G port=4242,nc,s -S myReset.scr 

==== Schnittstellen


Name: CMSIS-DAP - ARM-Debug-Protokolltreiber


 Usage -I cmsis-dap[,options] <not yet implemented> 

Name: STlink - STmicro V2 / 3-Schnittstellentreiber


 Usage -I stlink[,options] dr : Disable reset at connection (hotplug) speed=nnn : Interface speed (default max possible) swd : use SWD (default) jtag : use Jtag device=<usb_bus>:<usb_addr> : Select probe explicit eg -I stlink,dr,speed=3000 

==== Ziele


Name: Kortex-m


  Usage -T cortex-m[,options] nu : Disable stack unwind at exception eg -T cortex-m,nu 

==== Flashloader


 Usage -F [options] erase : Chip erase the flash verify : Verify flash after upload run : Start image file=<file> : Load the file, <file>.hex = Intel HEX format <file>.srec = Motorola srec file format Default = ELF file format eg -F file=test.elf -F run,file=test.hex -F erase,verify,run,file=test.srec -F erase -F run Default (without erase) only modified sectors are (re)flashed. 

==== GDB-Server


  Usage -G [options] s : Shutdown after disconnect nc : Don't use EBlink flash cache port=ppp : Select different TCP port, default 2331 address=xxxx : Select different listen address, default 0.0.0.0 eg -G s,nc 

EBlink schnitt als Debugger für die EmBitz 1.11- Umgebung gut ab.


Im Netzwerk wurden Dateien gefunden, die die Debugger-Schnittstelle hinzufügen. Sie müssen das Archiv lediglich in einen Ordner mit der installierten EmBitz 1.11-Umgebung extrahieren. Das Archiv enthält EBlink-Dateien und die Debugger-Schnittstelle. Um den Debugger zu verwenden, müssen Sie im Fenster Debug-Schnittstellenoptionen unter Ausgewählte Schnittstelle die Option EBlink auswählen (wird im Menü Debug> Schnittstellen geöffnet). Sie wird zum aktuellen GDB-Server des aktiven Ziels des Projekts.


Spoiler


EBlink kann auch zum Hochladen von Release-Firmware verwendet werden. Fügen Sie dazu dem EmBitz-Menü ( Tools > Configure tools ... ) ein Tool hinzu, das wir EBlink flash nennen .


Spoiler


Anwendungsbefehlszeile:


 -I stlink -S stm32-auto -a -F verify,run,file="${PROJECT_DIR}${TARGET_OUTPUT_DIR}${TARGET_OUTPUT_BASENAME}.hex" 

Im IDE-Protokoll sehen Sie die Funktionsweise des Tools. EBlink hat den Mikrocontroller STM32F103C8T6 aktualisiert.


In ähnlicher Weise können Sie EBlink in andere IDEs integrieren, beispielsweise in CooCox, das seit langem nicht mehr entwickelt wurde. So können Sie mit den kürzlich erschienenen Serien STM32H7, STM32G0 und STM32G4 arbeiten, die von den aktuellen Versionen von coconut nicht unterstützt werden.


Alle im Artikel erwähnten Dateien wurden auf Yandex.Disk hochgeladen .

Source: https://habr.com/ru/post/de485514/


All Articles