EBlink - GDB Server untuk ARM Cortex-M Microcontrollers

Tidak ada banyak informasi di jaringan tentang server EBlink yang muncul beberapa tahun yang lalu. Posting ini akan mencoba memperbaiki situasi.


EBlink mendukung sebagian besar model mikrokontroler STM32 (F0, F1, F2, F3, F4, F7, H7, L0, L1, L4, G0 dan seri G4), serta EFR32.


Sangat menarik karena mendukung skrip dalam bahasa C-like Squirrel yang terlibat dalam proses flashing dan debugging mikrokontroler. Ini memungkinkan pengeditan skrip untuk menambahkan mikrokontroler baru atau mengubah pekerjaan dengan yang sudah ada tanpa mengganggu kode sumber EBlink. Saya dapat mengasumsikan dengan cara ini dimungkinkan untuk menambahkan mikrokontroler dengan inti ARM Cormex-M dari produsen lain, misalnya, perusahaan Milander , tetapi ini belum diverifikasi.


ST-Link v2 dan v3 debuggers didukung, serta CMSIS-DAP.


File yang dapat dieksekusi untuk Windows x86, Linux x86-64, dan Raspberry PI saat ini tersedia. Pengembang berjanji untuk memposting kode sumber di masa mendatang.


Versi terbaru dapat diunduh dari github .
Versi saat ini 2.0 diunggah ke disk .


Diam tentang antarmuka baris perintah versi 2.0.

eblink - penggunaan:


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 

==== Antarmuka


nama: CMSIS-DAP - driver protokol debug ARM


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

nama: STlink - STmicro V2 / 3 driver antarmuka


 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 

==== Target


nama: cortex-m


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

==== Flash loader


 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. 

==== Server 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 berkinerja baik sebagai debugger untuk lingkungan EmBitz 1.11 .


Di jaringan, file ditemukan yang menambahkan antarmuka debugger dan semua yang diperlukan adalah untuk mengekstrak arsip ke folder dengan lingkungan EmBitz 1.11 yang diinstal. Arsip tersebut berisi file EBlink dan antarmuka debugger dan untuk menggunakan debugger Anda harus memilih EBlink di antarmuka yang Dipilih di jendela opsi antarmuka Debug (terbuka dari menu Debug> Antarmuka) dan itu akan menjadi server GDB saat ini dari target aktif proyek.


Spoiler


EBlink juga dapat digunakan untuk mengunggah rilis firmware. Untuk melakukan ini, tambahkan alat ke menu EmBitz ( Alat > Konfigurasi alat ... ) yang akan kita sebut EBlink flash .


Spoiler


Baris Perintah Aplikasi:


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

Dalam log IDE Anda dapat melihat pengoperasian alat - EBlink telah memperbarui mikrokontroler STM32F103C8T6.


Demikian pula, Anda dapat mengintegrasikan EBlink dengan IDE lain, misalnya, CooCox, yang sudah lama tidak dikembangkan, yang akan memungkinkan bekerja dengan seri STM32H7, STM32G0 dan STM32G4 yang baru-baru ini muncul yang tidak didukung oleh versi kelapa saat ini.


Semua file yang disebutkan dalam artikel diunggah ke Yandex.Disk .

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


All Articles