EBlink - Serveur GDB pour microcontrôleurs ARM Cortex-M

Il n'y a pas beaucoup d'informations sur le serveur EBlink apparues il y a plusieurs années. Ce message tentera de corriger la situation.


EBlink prend en charge la plupart des modèles de microcontrôleurs STM32 (séries F0, F1, F2, F3, F4, F7, H7, L0, L1, L4, G0 et G4), ainsi que EFR32.


Il est intéressant en ce qu'il prend en charge les scripts dans le langage C- Squirrel qui sont impliqués dans le processus de flash et de débogage des microcontrôleurs. Cela permet de modifier les scripts pour ajouter de nouveaux microcontrôleurs ou modifier le travail avec ceux existants sans interférer avec le code source EBlink. Je peux supposer de cette manière qu'il est possible d'ajouter des microcontrôleurs avec un cœur ARM Cormex-M d'autres fabricants, par exemple la société Milander , mais cela n'a pas été vérifié.


Les débogueurs ST-Link v2 et v3 sont pris en charge, ainsi que CMSIS-DAP.


Les fichiers exécutables pour Windows x86, Linux x86-64 et Raspberry PI sont actuellement disponibles. Le développeur promet de publier le code source à l'avenir.


La dernière version peut être téléchargée depuis github .
La version actuelle 2.0 est téléchargée sur le disque .


Silencieux sur l'interface de ligne de commande version 2.0.

eblink - utilisation:


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 

==== Interfaces


nom: CMSIS-DAP - pilote de protocole de débogage ARM


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

nom: STlink - pilote d'interface STmicro V2 / 3


 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 

==== Cibles


nom: cortex-m


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

==== Chargeur Flash


 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. 

==== serveur GDB


  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 a bien fonctionné en tant que débogueur pour l'environnement EmBitz 1.11 .


Sur le réseau, des fichiers ont été trouvés qui ajoutent l'interface du débogueur et tout ce qui est nécessaire est d'extraire l'archive dans un dossier avec l'environnement EmBitz 1.11 installé. L'archive contient des fichiers EBlink et l'interface du débogueur, et pour utiliser le débogueur, vous devez sélectionner EBlink dans la fenêtre d' options de l'interface de débogage (s'ouvre dans le menu Déboguer> Interfaces) et il deviendra le serveur GDB actuel de la cible active du projet.


Spoiler


EBlink peut également être utilisé pour télécharger le firmware de la version. Pour ce faire, ajoutez un outil au menu EmBitz (menu Outils > Configurer les outils ... ) que nous appellerons EBlink flash .


Spoiler


Ligne de commande d'application:


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

Dans le journal IDE, vous pouvez voir le fonctionnement de l'outil - EBlink a mis à jour le microcontrôleur STM32F103C8T6.


De même, vous pouvez intégrer EBlink avec d'autres IDE, par exemple CooCox, qui n'a pas été développé depuis longtemps, ce qui permettra de travailler avec les séries STM32H7, STM32G0 et STM32G4 récemment apparues qui ne sont pas prises en charge par les versions actuelles de la noix de coco.


Tous les fichiers mentionnés dans l'article ont été téléchargés sur Yandex.Disk .

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


All Articles