daniel-sullivan / clion-embedded-esp32 Goto Github PK
View Code? Open in Web Editor NEWThis project forked from elmot/clion-embedded-arm
OpenOCD + ESP32 support for CLion
License: Other
This project forked from elmot/clion-embedded-arm
OpenOCD + ESP32 support for CLion
License: Other
can debug in clion debugger
debugger report:
com.jetbrains.cidr.execution.debugger.backend.gdb.GDBDriver$GDBCommandException: Remote replied unexpectedly to 'vMustReplyEmpty': PacketSize=4000;qXfer:memory-map:read+;qXfer:features:read-;qXfer:threads:read+;QStartNoAckMode+;vContSupported+
1.setup openocd config
1.setup openocd target
1.run debug
I am using Ubuntu 19.10 with CLion 2019.3 with an ESP32-WROOM DevKitCV4 attached to an FT232H USB via JTAG pins and the following configuration:
OpenOCD Download & Run:
Board config file: board/esp32-wroom-ft232h.cfg
Interface config file: interface/ftdi/esp32_devkitc.cfg
# board/esp32-wroom-ft232h.cfg
source [find interface/ftdi/esp32_devkitc.cfg]
set ESP32_FLASH_VOLTAGE 3.3
# Source the ESP32 configuration file
source [find target/esp32.cfg]
# interface/ftdi/esp32_devkitc.cfg
interface ftdi
ftdi_vid_pid 0x0403 0x6014
ftdi_layout_init 0x0008 0x400b
reset_config none
adapter_khz 20000
If I start the debug process in CLion the RUN tab show the following:
/home/osboxes/.espressif/tools/openocd-esp32/v0.10.0-esp32-20191114/openocd-esp32/bin/openocd -c "tcl_port disabled" -s /home/osboxes/.espressif/tools/openocd-esp32/v0.10.0-esp32-20191114/openocd-esp32/share/openocd/scripts -f interface/ftdi/esp32_devkitc.cfg -f board/esp32-wroom-ft232h.cfg -c "program_esp32 /home/osboxes/esp/blink/cmake-build-debug/blink.bin 0x10000" -c "init; reset halt"
Open On-Chip Debugger v0.10.0-esp32-20191114 (2019-11-14-14:15)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
none separate
adapter speed: 20000 kHz
Warn : Interface already configured, ignoring
none separate
adapter speed: 20000 kHz
Info : Configured 2 cores
Error: type 'esp32' is missing virt2phys
Info : ftdi: if you experience problems at higher adapter clocks, try the command "ftdi_tdo_sample_edge falling"
Info : clock speed 20000 kHz
Info : JTAG tap: esp32.cpu0 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : JTAG tap: esp32.cpu1 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : esp32: Debug controller 0 was reset.
Info : esp32: Core 0 was reset.
Info : esp32: Debug controller 1 was reset.
Info : esp32: Core 1 was reset.
Info : Listening on port 3333 for gdb connections
Info : JTAG tap: esp32.cpu0 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : JTAG tap: esp32.cpu1 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : cpu0: Target halted, PC=0x400E28EE, debug_reason=00000000
Info : cpu0: Debug controller 0 was reset.
Info : cpu0: Core 0 was reset.
Info : cpu0: Target halted, PC=0x500000CF, debug_reason=00000000
Info : esp32: Core 0 was reset.
Info : esp32: Debug controller 1 was reset.
Info : esp32: Core 1 was reset.
Info : Target halted. CPU0: PC=0x40000400 (active)
Info : Target halted. CPU1: PC=0x40000400
** Programming Started **
auto erase enabled
Info : cpu0: Target halted, PC=0x400916EA, debug_reason=00000001
Info : Flash mapping 0: 0x10020 -> 0x3f400020, 21 KB
Info : Flash mapping 1: 0x20020 -> 0x400d0020, 74 KB
Info : cpu0: Target halted, PC=0x400916EA, debug_reason=00000001
Info : Auto-detected flash bank 'esp32.flash' size 4096 KB
Info : Using flash bank 'esp32.flash' size 4096 KB
Info : cpu0: Target halted, PC=0x400916EA, debug_reason=00000001
Info : cpu0: Target halted, PC=0x400916EA, debug_reason=00000001
wrote 147456 bytes from file /home/osboxes/esp/blink/cmake-build-debug/blink.bin in 2.598297s (55.421 KiB/s)
** Programming Finished **
Info : JTAG tap: esp32.cpu0 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : JTAG tap: esp32.cpu1 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : cpu0: Debug controller 0 was reset.
Info : cpu0: Core 0 was reset.
Info : cpu0: Target halted, PC=0x500000CF, debug_reason=00000000
Info : esp32: Core 0 was reset.
Info : esp32: Debug controller 1 was reset.
Info : esp32: Core 1 was reset.
Info : Target halted. CPU0: PC=0x40000400 (active)
Info : Target halted. CPU1: PC=0x40000400
Info : tcl server disabled
Info : Listening on port 4444 for telnet connections
Info : accepting 'gdb' connection on tcp/3333
Error: No symbols for FreeRTOS
Info : cpu0: Target halted, PC=0x400916EA, debug_reason=00000001
Info : Flash mapping 0: 0x10020 -> 0x3f400020, 21 KB
Info : Flash mapping 1: 0x20020 -> 0x400d0020, 74 KB
Info : Using flash bank 'esp32.irom' size 76 KB
Info : cpu0: Target halted, PC=0x400916EA, debug_reason=00000001
Info : Flash mapping 0: 0x10020 -> 0x3f400020, 21 KB
Info : Flash mapping 1: 0x20020 -> 0x400d0020, 74 KB
Info : Using flash bank 'esp32.drom' size 24 KB
Error: GDB missing ack(2) - assumed good
Info : dropped 'gdb' connection
And the DEBUG tab shows:
com.jetbrains.cidr.execution.debugger.backend.gdb.GDBDriver$GDBCommandException: Remote replied unexpectedly to 'vMustReplyEmpty': PacketSize=3fff;qXfer:memory-map:read+;qXfer:features:read-;qXfer:threads:read+;QStartNoAckMode+;vContSupported+
Debugger disconnected
I have used the unmodified version of the esp-idf/examples/get-started/blink
example.
If I start the debugging process just using the terminal it works and the program is halted:
$ openocd -f board/esp32-wroom-ft232h.cfg
Open On-Chip Debugger v0.10.0-esp32-20191114 (2019-11-14-14:15)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
none separate
adapter speed: 20000 kHz
Info : Configured 2 cores
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Error: type 'esp32' is missing virt2phys
Info : ftdi: if you experience problems at higher adapter clocks, try the command "ftdi_tdo_sample_edge falling"
Info : clock speed 20000 kHz
Info : JTAG tap: esp32.cpu0 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : JTAG tap: esp32.cpu1 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : Target halted. CPU0: PC=0x40000400 (active)
Info : Target halted. CPU1: PC=0x40000400
Info : Listening on port 3333 for gdb connections
Any ideas?
Should work
Does not work and throws this error:
java.lang.NoClassDefFoundError: com/jetbrains/cidr/execution/testing/CidrLauncher
at esp32.embedded.clion.openocd.OpenOcdConfigurationType.createRunConfiguration(OpenOcdConfigurationType.java:72)
at esp32.embedded.clion.openocd.OpenOcdConfigurationType.createRunConfiguration(OpenOcdConfigurationType.java:18)
at com.jetbrains.cidr.cpp.execution.CMakeRunConfigurationType$1.createTemplateConfiguration(CMakeRunConfigurationType.java:35)
at com.intellij.execution.target.TargetEnvironmentsMasterDetails$Companion.collectListOfTargetAwareRunConfigurations(TargetEnvironmentsMasterDetails.kt:381)
at com.intellij.execution.target.TargetEnvironmentsMasterDetails$Companion.generateProjectDefaultHelpHtml(TargetEnvironmentsMasterDetails.kt:368)
at com.intellij.execution.target.TargetEnvironmentsMasterDetails$Companion.access$generateProjectDefaultHelpHtml(TargetEnvironmentsMasterDetails.kt:353)
at com.intellij.execution.target.TargetEnvironmentsMasterDetails$$special$$inlined$panel$lambda$1.invoke(TargetEnvironmentsMasterDetails.kt:76)
at com.intellij.execution.target.TargetEnvironmentsMasterDetails$$special$$inlined$panel$lambda$1.invoke(TargetEnvironmentsMasterDetails.kt:39)
at com.intellij.ui.layout.RowBuilder$DefaultImpls.row(Row.kt:55)
at com.intellij.ui.layout.Row.row(Row.kt:145)
at com.intellij.ui.layout.migLayout.MigLayoutRow.row(MigLayoutRow.kt:548)
at com.intellij.ui.layout.RowBuilder$DefaultImpls.row(Row.kt:59)
at com.intellij.ui.layout.Row.row(Row.kt:145)
at com.intellij.ui.layout.LayoutBuilder.row(LayoutBuilder.kt)
at com.intellij.ui.layout.RowBuilder$DefaultImpls.row$default(Row.kt:58)
at com.intellij.execution.target.TargetEnvironmentsMasterDetails.<init>(TargetEnvironmentsMasterDetails.kt:57)
at com.intellij.execution.target.TargetEnvironmentsConfigurable.<init>(TargetEnvironmentsConfigurable.kt:20)
at com.intellij.execution.target.TargetEnvironmentsConfigurable.<init>(TargetEnvironmentsConfigurable.kt:18)
at com.intellij.execution.target.TargetEnvironmentsConfigurableProvider.createConfigurable(TargetEnvironmentsConfigurableProvider.kt:11)
at com.intellij.openapi.options.ConfigurableEP$ProviderProducer.createElement(ConfigurableEP.java:415)
at com.intellij.openapi.options.ConfigurableEP.createConfigurable(ConfigurableEP.java:344)
at com.intellij.openapi.options.ex.ConfigurableWrapper.createConfigurable(ConfigurableWrapper.java:42)
at com.intellij.openapi.options.ex.ConfigurableWrapper.getConfigurable(ConfigurableWrapper.java:116)
at com.intellij.openapi.options.ex.ConfigurableWrapper.cast(ConfigurableWrapper.java:91)
at com.intellij.openapi.options.newEditor.SettingsTreeView.findConfigurableProject(SettingsTreeView.java:318)
at com.intellij.openapi.options.newEditor.SettingsTreeView$MyRenderer.getTreeCellRendererComponent(SettingsTreeView.java:651)
at java.desktop/javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(BasicTreeUI.java:3155)
at java.desktop/javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:493)
at java.desktop/javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1344)
at java.desktop/javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(VariableHeightLayoutCache.java:1465)
at java.desktop/javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(VariableHeightLayoutCache.java:1272)
at java.desktop/javax.swing.tree.VariableHeightLayoutCache.ensurePathIsExpanded(VariableHeightLayoutCache.java:967)
at java.desktop/javax.swing.tree.VariableHeightLayoutCache.setExpandedState(VariableHeightLayoutCache.java:181)
at java.desktop/javax.swing.plaf.basic.BasicTreeUI.updateExpandedDescendants(BasicTreeUI.java:1975)
at java.desktop/javax.swing.plaf.basic.BasicTreeUI$Handler.treeExpanded(BasicTreeUI.java:4212)
at java.desktop/javax.swing.JTree.fireTreeExpanded(JTree.java:2802)
at java.desktop/javax.swing.JTree.setExpandedState(JTree.java:3653)
at java.desktop/javax.swing.JTree.expandPath(JTree.java:2245)
at com.intellij.ide.util.treeView.AbstractTreeUi$48.perform(AbstractTreeUi.java:3210)
at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:20)
at com.intellij.ide.util.treeView.UpdaterTreeState.process(UpdaterTreeState.java:102)
at com.intellij.ide.util.treeView.AbstractTreeUi.processInnerChange(AbstractTreeUi.java:3231)
at com.intellij.ide.util.treeView.AbstractTreeUi.expandPath(AbstractTreeUi.java:3199)
at com.intellij.ide.util.treeView.AbstractTreeUi.expand(AbstractTreeUi.java:1485)
at com.intellij.ide.util.treeView.AbstractTreeUi.expand(AbstractTreeUi.java:1452)
at com.intellij.ide.util.treeView.AbstractTreeUi.processExpand(AbstractTreeUi.java:4347)
at com.intellij.ide.util.treeView.AbstractTreeUi._expand(AbstractTreeUi.java:4286)
at com.intellij.ide.util.treeView.AbstractTreeUi$67.perform(AbstractTreeUi.java:4169)
at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:20)
at com.intellij.ide.util.treeView.AbstractTreeUi.expandNext(AbstractTreeUi.java:4183)
at com.intellij.ide.util.treeView.AbstractTreeUi$66.perform(AbstractTreeUi.java:4129)
at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:20)
at com.intellij.ide.util.treeView.AbstractTreeUi.execute(AbstractTreeUi.java:1823)
at com.intellij.ide.util.treeView.AbstractTreeUi.runDone(AbstractTreeUi.java:4214)
at com.intellij.ide.util.treeView.AbstractTreeUi._expand(AbstractTreeUi.java:4111)
at com.intellij.ide.util.treeView.AbstractTreeUi.expand(AbstractTreeUi.java:4103)
at com.intellij.ide.util.treeView.AbstractTreeUi.expand(AbstractTreeUi.java:4098)
at com.intellij.ide.util.treeView.AbstractTreeUi.expand(AbstractTreeUi.java:4094)
at com.intellij.ide.util.treeView.AbstractTreeUi$28.lambda$perform$0(AbstractTreeUi.java:1541)
at com.intellij.ide.util.treeView.AbstractTreeUi.execute(AbstractTreeUi.java:1802)
at com.intellij.ide.util.treeView.AbstractTreeUi.maybeYield(AbstractTreeUi.java:1785)
at com.intellij.ide.util.treeView.AbstractTreeUi$28.lambda$perform$1(AbstractTreeUi.java:1540)
at com.intellij.ide.util.treeView.AbstractTreeUi.processActions(AbstractTreeUi.java:2823)
at com.intellij.ide.util.treeView.AbstractTreeUi.processNodeActionsIfReady(AbstractTreeUi.java:2788)
at com.intellij.ide.util.treeView.AbstractTreeUi$28.perform(AbstractTreeUi.java:1552)
at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:20)
at com.intellij.ide.util.treeView.AbstractTreeUi.execute(AbstractTreeUi.java:1823)
at com.intellij.ide.util.treeView.AbstractTreeUi.processUnbuilt(AbstractTreeUi.java:1505)
at com.intellij.ide.util.treeView.AbstractTreeUi.doUpdateChildren(AbstractTreeUi.java:1236)
at com.intellij.ide.util.treeView.AbstractTreeUi$23$1.perform(AbstractTreeUi.java:1159)
at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:20)
at com.intellij.ide.util.treeView.AbstractTreeUi.execute(AbstractTreeUi.java:1823)
at com.intellij.ide.util.treeView.AbstractTreeUi$23.perform(AbstractTreeUi.java:1156)
at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:20)
at com.intellij.openapi.util.ActionCallback$ExecutedExecutionCallback.doWhenExecuted(ActionCallback.java:177)
at com.intellij.openapi.util.ActionCallback.doWhenDone(ActionCallback.java:111)
at com.intellij.ide.util.treeView.AbstractTreeUi.updateNodeChildren(AbstractTreeUi.java:1151)
at com.intellij.ide.util.treeView.AbstractTreeUi$45.perform(AbstractTreeUi.java:3063)
at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:20)
at com.intellij.ide.util.treeView.TreeRunnable$TreeConsumer.accept(TreeRunnable.java:34)
at org.jetbrains.concurrency.DonePromise.onSuccess(promise.kt:349)
at org.jetbrains.concurrency.DonePromise.onSuccess(promise.kt:318)
at com.intellij.ide.util.treeView.AbstractTreeUi.lambda$processExistingNode$11(AbstractTreeUi.java:3023)
at org.jetbrains.concurrency.AsyncPromise$onSuccess$1.accept(AsyncPromise.kt:84)
at org.jetbrains.concurrency.AsyncPromise$onSuccess$1.accept(AsyncPromise.kt:16)
at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
at java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
at java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251)
at org.jetbrains.concurrency.AsyncPromise.onSuccess(AsyncPromise.kt:78)
at org.jetbrains.concurrency.AsyncPromise.onSuccess(AsyncPromise.kt:16)
at com.intellij.ide.util.treeView.AbstractTreeUi.processExistingNode(AbstractTreeUi.java:2967)
at com.intellij.ide.util.treeView.AbstractTreeUi.lambda$processExistingNodes$5(AbstractTreeUi.java:1686)
at com.intellij.ide.util.treeView.AbstractTreeUi.execute(AbstractTreeUi.java:1802)
at com.intellij.ide.util.treeView.AbstractTreeUi.maybeYield(AbstractTreeUi.java:1785)
at com.intellij.ide.util.treeView.AbstractTreeUi.lambda$processExistingNodes$6(AbstractTreeUi.java:1673)
at com.intellij.ide.util.treeView.AbstractTreeUi.execute(AbstractTreeUi.java:1802)
at com.intellij.ide.util.treeView.AbstractTreeUi.maybeYield(AbstractTreeUi.java:1785)
at com.intellij.ide.util.treeView.AbstractTreeUi.processExistingNodes(AbstractTreeUi.java:1659)
at com.intellij.ide.util.treeView.AbstractTreeUi.updateNodeChildrenNow(AbstractTreeUi.java:1358)
at com.intellij.ide.util.treeView.AbstractTreeUi.doUpdateChildren(AbstractTreeUi.java:1267)
at com.intellij.ide.util.treeView.AbstractTreeUi$23$1.perform(AbstractTreeUi.java:1159)
at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:20)
at com.intellij.ide.util.treeView.AbstractTreeUi.execute(AbstractTreeUi.java:1823)
at com.intellij.ide.util.treeView.AbstractTreeUi$23.perform(AbstractTreeUi.java:1156)
at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:20)
at com.intellij.openapi.util.ActionCallback$ExecutedExecutionCallback.doWhenExecuted(ActionCallback.java:177)
at com.intellij.openapi.util.ActionCallback.doWhenDone(ActionCallback.java:111)
at com.intellij.ide.util.treeView.AbstractTreeUi.updateNodeChildren(AbstractTreeUi.java:1151)
at com.intellij.ide.util.treeView.AbstractTreeUi$45.perform(AbstractTreeUi.java:3063)
at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:20)
at com.intellij.ide.util.treeView.TreeRunnable$TreeConsumer.accept(TreeRunnable.java:34)
at org.jetbrains.concurrency.DonePromise.onSuccess(promise.kt:349)
at org.jetbrains.concurrency.DonePromise.onSuccess(promise.kt:318)
at com.intellij.ide.util.treeView.AbstractTreeUi.lambda$processExistingNode$11(AbstractTreeUi.java:3023)
at org.jetbrains.concurrency.AsyncPromise$onSuccess$1.accept(AsyncPromise.kt:84)
at org.jetbrains.concurrency.AsyncPromise$onSuccess$1.accept(AsyncPromise.kt:16)
at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
at java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
at java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251)
at org.jetbrains.concurrency.AsyncPromise.onSuccess(AsyncPromise.kt:78)
at org.jetbrains.concurrency.AsyncPromise.onSuccess(AsyncPromise.kt:16)
at com.intellij.ide.util.treeView.AbstractTreeUi.processExistingNode(AbstractTreeUi.java:2967)
at com.intellij.ide.util.treeView.AbstractTreeUi.lambda$processExistingNodes$5(AbstractTreeUi.java:1686)
at com.intellij.ide.util.treeView.AbstractTreeUi.execute(AbstractTreeUi.java:1802)
at com.intellij.ide.util.treeView.AbstractTreeUi.maybeYield(AbstractTreeUi.java:1785)
at com.intellij.ide.util.treeView.AbstractTreeUi.lambda$processExistingNodes$6(AbstractTreeUi.java:1673)
at com.intellij.ide.util.treeView.AbstractTreeUi.execute(AbstractTreeUi.java:1802)
at com.intellij.ide.util.treeView.AbstractTreeUi.maybeYield(AbstractTreeUi.java:1785)
at com.intellij.ide.util.treeView.AbstractTreeUi.processExistingNodes(AbstractTreeUi.java:1659)
at com.intellij.ide.util.treeView.AbstractTreeUi.updateNodeChildrenNow(AbstractTreeUi.java:1358)
at com.intellij.ide.util.treeView.AbstractTreeUi$24.perform(AbstractTreeUi.java:1260)
at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:20)
at com.intellij.ide.util.treeView.TreeRunnable$TreeConsumer.accept(TreeRunnable.java:34)
at org.jetbrains.concurrency.AsyncPromise$onSuccess$1.accept(AsyncPromise.kt:84)
at org.jetbrains.concurrency.AsyncPromise$onSuccess$1.accept(AsyncPromise.kt:16)
at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
at java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
at java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251)
at org.jetbrains.concurrency.AsyncPromise.onSuccess(AsyncPromise.kt:78)
at org.jetbrains.concurrency.AsyncPromise.onSuccess(AsyncPromise.kt:16)
at com.intellij.ide.util.treeView.AbstractTreeUi.doUpdateChildren(AbstractTreeUi.java:1256)
at com.intellij.ide.util.treeView.AbstractTreeUi$23$1.perform(AbstractTreeUi.java:1159)
at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:20)
at com.intellij.ide.util.treeView.AbstractTreeUi.execute(AbstractTreeUi.java:1823)
at com.intellij.ide.util.treeView.AbstractTreeUi$23.perform(AbstractTreeUi.java:1156)
at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:20)
at com.intellij.openapi.util.ActionCallback$ExecutedExecutionCallback.doWhenExecuted(ActionCallback.java:177)
at com.intellij.openapi.util.ActionCallback.doWhenDone(ActionCallback.java:111)
at com.intellij.ide.util.treeView.AbstractTreeUi.updateNodeChildren(AbstractTreeUi.java:1151)
at com.intellij.ide.util.treeView.AbstractTreeUi.updateSubtreeNow(AbstractTreeUi.java:1060)
at com.intellij.ide.util.treeView.AbstractTreeUpdater$2.perform(AbstractTreeUpdater.java:228)
at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:20)
at com.intellij.openapi.util.ActionCallback$ExecutedExecutionCallback.doWhenExecuted(ActionCallback.java:177)
at com.intellij.openapi.util.ActionCallback.doWhenDone(ActionCallback.java:111)
at com.intellij.ide.util.treeView.AbstractTreeUpdater.performUpdate(AbstractTreeUpdater.java:223)
at com.intellij.ide.util.treeView.AbstractTreeUpdater$1.run(AbstractTreeUpdater.java:199)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:332)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:322)
at com.intellij.util.ui.update.MergingUpdateQueue.lambda$flush$1(MergingUpdateQueue.java:271)
at com.intellij.util.ui.EdtInvocationManager.invokeAndWaitIfNeeded(EdtInvocationManager.java:147)
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:282)
at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:240)
at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:241)
at com.intellij.util.Alarm$Request.runSafely(Alarm.java:388)
at com.intellij.util.Alarm$Request.run(Alarm.java:377)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at com.intellij.util.concurrency.SchedulingWrapper$MyScheduledFutureTask.run(SchedulingWrapper.java:223)
at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:200)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:873)
at com.intellij.openapi.application.impl.ApplicationImpl$3.run(ApplicationImpl.java:511)
at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:69)
at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:112)
at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:42)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:898)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:746)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:439)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:803)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:438)
at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:119)
at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:604)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:436)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:873)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:484)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:121)
at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
at java.desktop/java.awt.Dialog.show(Dialog.java:1070)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:702)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:439)
at com.intellij.openapi.ui.DialogWrapper.doShow(DialogWrapper.java:1668)
at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1626)
at com.intellij.ide.actions.ShowSettingsUtilImpl.showSettingsDialog(ShowSettingsUtilImpl.java:90)
at com.intellij.ide.actions.ShowSettingsAction.perform(ShowSettingsAction.java:50)
at com.intellij.ide.actions.ShowSettingsAction.actionPerformed(ShowSettingsAction.java:37)
at com.intellij.openapi.actionSystem.ex.ActionUtil.lambda$performActionDumbAwareWithCallbacks$4(ActionUtil.java:235)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareWithCallbacks(ActionUtil.java:256)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAwareWithCallbacks(ActionUtil.java:235)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.lambda$performAction$0(ActionMenuItem.java:289)
at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:233)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.performAction(ActionMenuItem.java:281)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:296)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.lambda$fireActionPerformed$2(ActionMenuItem.java:111)
at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:95)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:111)
at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:540)
at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:570)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6654)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3345)
at java.desktop/java.awt.Component.processEvent(Component.java:6419)
at java.desktop/java.awt.Container.processEvent(Container.java:2263)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5029)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2793)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:898)
at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:820)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:743)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:439)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:803)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:438)
at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:119)
at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:604)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:436)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:873)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:484)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
Caused by: java.lang.ClassNotFoundException: com.jetbrains.cidr.execution.testing.CidrLauncher PluginClassLoader(plugin=PluginDescriptor(name=OpenOCD + ESP32 Support for embedded development, id=esp32.embedded.clion.armsupport.prj, descriptorPath=plugin.xml, path=~\AppData\Roaming\JetBrains\CLion2022.1\plugins\clion-embedded-esp32.jar, version=0.1.alpha2, package=null, isBundled=false), packagePrefix=null, instanceId=116, state=active)
at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:215)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 262 more
When I configure the tool chain to the openocd directory, I report an error.
The error message is "invalid command name "program_esp32"".
I think the mistake was that openocd didn't know “program_esp32” when it ran the command, so it made a mistake.
How do I get rid of it in the configuration?
What I am doing wrong while trying to configure the OpenOCD home?
Settings Tab
$ls -alh /Users/xxx/Documents/Workspace/esp32/espressif/tools
total 0
drwxr-xr-x 7 xxx staff 224B Jan 10 21:52 ./
drwxr-xr-x 7 xxx staff 224B Jan 10 21:52 ../
drwxr-xr-x 3 xxx staff 96B Jan 10 21:52 esp32s2ulp-elf/
drwxr-xr-x 3 xxx staff 96B Jan 10 21:52 esp32ulp-elf/
drwxr-xr-x 3 xxx staff 96B Jan 10 21:52 openocd-esp32/
drwxr-xr-x 3 xxx staff 96B Jan 10 21:51 xtensa-esp32-elf/
drwxr-xr-x 3 xxx staff 96B Jan 10 21:52 xtensa-esp32s2-elf/
$ export
IDF_PATH=/Users/xxx/Documents/Workspace/esp32/espressif/esp-idf
IDF_PYTHON_ENV_PATH=/Users/xxx/Documents/Workspace/esp32/espressif/python_env/idf4.1_py2.7_env
IDF_TOOLS_EXPORT_CMD=/Users/xxx/Documents/Workspace/esp32/espressif/esp-idf/export.sh
IDF_TOOLS_INSTALL_CMD=/Users/xxx/Documents/Workspace/esp32/espressif/esp-idf/install.sh
IDF_TOOLS_PATH=/Users/xxx/Documents/Workspace/esp32/espressif/
OPENOCD_SCRIPTS=/Users/xxx/Documents/Workspace/esp32/espressif/tools/openocd-esp32/v0.10.0-esp32-20191114/openocd-esp32/share/openocd/scripts
macOS Catalina with current IDF master release (v4.x). CLion 2019.3.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.