intial emacs config for debugging via openocd
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
;;; .doomrc --- doom runtime config -*- mode: emacs-lisp; lexical-binding: t; -*-
|
||||
;;; Commentary:
|
||||
;;; Code:
|
||||
(require 'doom) ; be silent, byte-compiler
|
||||
|
||||
(after! dape
|
||||
(add-to-list
|
||||
'dape-configs
|
||||
`(gdb-dap-openocd
|
||||
,@(alist-get 'gdb-dap dape-configs)
|
||||
fn (lambda (config)
|
||||
(let* ((default-directory (dape--guess-root config))
|
||||
(openocd
|
||||
;; Run openocd with config files from `openocd-files' property
|
||||
(start-process-shell-command
|
||||
"openocd" "*openocd*"
|
||||
(concat "openocd"
|
||||
(mapconcat (lambda (file)
|
||||
(concat " -f " (shell-quote-argument file)))
|
||||
(append (dape-config-get config 'openocd-files) nil)))))
|
||||
probe)
|
||||
;; Wait until port is open
|
||||
(while (and (process-live-p openocd)
|
||||
(not (setq probe (ignore-errors
|
||||
(make-network-process :name "openocd port probe"
|
||||
:service 3333)))))
|
||||
(sleep-for 0.1))
|
||||
;; Close probe connection
|
||||
(when probe
|
||||
(delete-process probe)))
|
||||
config)
|
||||
openocd-files ["openocd.cfg"]
|
||||
:initCommands ["target remote 10.128.5.10:3333"
|
||||
"monitor reset halt"]
|
||||
:exitCommands ["monitor shutdown"]
|
||||
:terminateCommands ["monitor shutdown"]))
|
||||
)
|
||||
|
||||
;;; .doomrc ends here
|
||||
Reference in New Issue
Block a user