<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Joaquim Flávio</title>
    <description>The latest articles on DEV Community by Joaquim Flávio (@joaquimflavio).</description>
    <link>https://dev.to/joaquimflavio</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1170814%2F159cf842-9eb4-402c-b156-fe7f0cd41715.png</url>
      <title>DEV Community: Joaquim Flávio</title>
      <link>https://dev.to/joaquimflavio</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/joaquimflavio"/>
    <language>en</language>
    <item>
      <title>Depurando ESP32S3 com Arduino-IDE no macOS</title>
      <dc:creator>Joaquim Flávio</dc:creator>
      <pubDate>Tue, 26 Sep 2023 19:42:59 +0000</pubDate>
      <link>https://dev.to/joaquimflavio/depurando-esp32s3-com-arduinoide-no-macos-5h0k</link>
      <guid>https://dev.to/joaquimflavio/depurando-esp32s3-com-arduinoide-no-macos-5h0k</guid>
      <description>&lt;p&gt;Realizar a depuração de quaisquer aplicações e a forma mais ágil de detectar problemas em sua execução, principalmente quando pensamos no tempo gasto em re-gravar o firmware de um  micro controlador apenas para exibir uma simples váriavel em uma saída serial…&lt;/p&gt;

&lt;p&gt;Atualmente exitem muitos recursos intuitivos e práticos para realizar esse processo, no entanto para aqueles que se aventuram pela primeira vez nesse mundo podem surgir algumas duvidas nas configurações dos parâmetros de depuração. &lt;br&gt;
Portanto decidi escrever esse pequeno artigo para facilitar o setup de depuração para o ESP32-S3 utilizando o Arduino-IDE para macos. Caso você utilize outro OS, os conceitos serão os mesmos no entanto deverá se atentar aos &lt;code&gt;paths&lt;/code&gt; e outras pequenas diferenças.&lt;/p&gt;
&lt;h2&gt;
  
  
  ESP32-S3 + JTAG
&lt;/h2&gt;

&lt;p&gt;O chip ESP32-S3 conta com conexão USB de forma nativa que conta com um adaptador JTAG (Joint Test Action Group), conforme ilustrado no diagrama abaixo. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkx92sbtahebhdybz42f0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkx92sbtahebhdybz42f0.png" alt="ESP32-S3 USB Diagram" width="720" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Para mais detalhes sobre o JTAG Debugging: &lt;a href="https://docs.espressif.com/projects/esp-idf/en/v4.4/esp32s3/api-guides/jtag-debugging/index.html#configuring-esp32-s3-target"&gt;docs.espressif&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Pré-Requisitos
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Instalar o Arduino IDE &lt;code&gt;^2.2.1&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Instalar o ESP32 no Arduino IDE &lt;code&gt;^2.0.11&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  USB Integrada
&lt;/h2&gt;

&lt;p&gt;Se você está utilizando um modulo de desenvolvimento, certifique-se de utilizar a porta que se conecta aos terminais do USB builtin, caso esteja em duvida sobre se o modulo realmente está usando ou não os terminais corretor, é possível realizar a conexão diretamente ao pino utilizando um cabo USB qualquer. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Atente-se que o nível de tensão da porta USB é normalmente 5V enquanto o ESP é 3.3V!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;ESP32-S3 Pin&lt;/th&gt;
&lt;th&gt;USB Signal&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;GPIO 19&lt;/td&gt;
&lt;td&gt;D-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPIO 20&lt;/td&gt;
&lt;td&gt;D+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5V&lt;/td&gt;
&lt;td&gt;Opcional&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GND&lt;/td&gt;
&lt;td&gt;GND&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Apos conectar o ESP a USB do seu computador, o adaptador JTAG deverá estar listado na lista de dispositivos USB. Para isso: &lt;code&gt; &amp;gt; System Settings &amp;gt; General &amp;gt; System Report… &amp;gt; USB&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0bcitvpt54va24yrk6eu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0bcitvpt54va24yrk6eu.png" alt="JTAG plugued to MAC-OS" width="800" height="557"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠️ Caso você tenha chegado até aqui e ainda não tenha aparecido o dispositivo na listagem, não se desespere. Alguns módulos não vem com a JTAG habilitada por padrão, vamos aprender a habilita-la nas próximas etapas.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;
  
  
  Configurações Arduino IDE
&lt;/h2&gt;

&lt;p&gt;Agora que o ESP está conectado ao computador, podemos iniciar as configurações no Arduino IDE. Para isso vá até: &lt;code&gt;Tools&lt;/code&gt; e garanta que tenha as mesmas configurações da imagem a baixo:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh0paukot4u25k9ipxmt2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh0paukot4u25k9ipxmt2.png" alt="Arduino-IDE Tools Config" width="562" height="716"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Agora abra um código qualquer (&lt;em&gt;ex: Blink&lt;/em&gt;) e faça o upload para o ESP32-S3. Dessa forma as configurações para uso do JTAG serão efetivamente ativadas.&lt;/p&gt;
&lt;h3&gt;
  
  
  Debugger
&lt;/h3&gt;

&lt;p&gt;Para realizar o debug, o Arduino utiliza a extensão &lt;a href="https://github.com/Marus/cortex-debug"&gt;Maus/cortex-debug&lt;/a&gt;. No entanto, na data em que esse post foi publicado, por padrão o Arduino IDE não traz as configurações corretas para o debug do ESP32-S3, para isso será necessário ajustar alguns atributos (&lt;a href="https://github.com/Marus/cortex-debug/blob/master/debug_attributes.md"&gt;debug_attributes&lt;/a&gt;). &lt;/p&gt;

&lt;p&gt;Como a IDE do Arduino é baseada no VS-Code, a forma de se configurar a extensão e o debug são muito semelhantes. Vamos precisar inicialmente gerar o arquivo &lt;code&gt;launch.json&lt;/code&gt; para obtê-lo, deveremos pressionar o botão de Debug da barra superior e então pressionar na engrenagem na aba de debug.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fueixojzhmsa25v33tenb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fueixojzhmsa25v33tenb.png" alt="Arduino-IDE generate lauch.json" width="800" height="694"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nesse momento deverá disparar alguns alertas de erro na sua IDE como na imagem abaixo, caso não apareça nenhuma mensagem de erro e o debug efetivamente tenha sido iniciado, o seu tutorial termina aqui.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff039c5m1cojpl6h4ykwv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff039c5m1cojpl6h4ykwv.png" alt="Arduino-IDE error on open debug" width="800" height="694"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Para resolver esse erro será necessário que alteremos o arquivo &lt;code&gt;lauch.json&lt;/code&gt; , mas como vc ja deve ter percebido, ele está na configuração &lt;em&gt;read-only&lt;/em&gt;. E para que seja possível editar-lo deveremos abrir ele com outro editor de texto. Para localizar o path deste arquivo, basta manter o mouse sobre o nome do arquivo por alguns instantes:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Aparentemente este é um bug desta versão do Arduino IDE, espero que seja corrigido em versões futuras. O correto seria que esse arquivo ficasse junto aos arquivos do programa que estamos executando…&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9l1vq50ulr93ryjpbtty.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9l1vq50ulr93ryjpbtty.png" alt="Arduino-IDE lauch.json path hack" width="800" height="681"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Substitua essas configurações por estas:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="err"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;launch.json&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"version"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"0.2.0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"configurations"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"cwd"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"${workspaceRoot}"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Arduino on ESP32-S3"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"request"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"attach"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"cortex-debug"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="err"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;KEEP&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;THE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"executable"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;as&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;the&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;same&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;value&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;before&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"executable"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"&amp;lt;DO NOT CHANGE THIS PATH!!&amp;gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"servertype"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"openocd"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"serverpath"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/Users/&amp;lt;YOUR-USER&amp;gt;/Library/Arduino15/packages/esp32/tools/openocd-esp32/v0.11.0-esp32-20221026/bin/openocd"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"armToolchainPath"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/Users/&amp;lt;YOUR-USER&amp;gt;/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-2021r2-patch5-8.4.0/bin/"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"configFiles"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"debug.cfg"&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"toolchainPrefix"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"xtensa-esp32s3-elf"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"svdFile"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"debug.svd"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"overrideAttachCommands"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"set remote hardware-watchpoint-limit 2"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"monitor reset halt"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"monitor gdb_sync"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"thb setup"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"c"&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"overrideRestartCommands"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"monitor reset halt"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"monitor gdb_sync"&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Após isso vamos precisa editar uma configuração da IDE, para isso utilize o atalho &lt;strong&gt;⌘⇧P&lt;/strong&gt; e então buscar por “Open Settings (UI)”.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1om1h67g322yfp0248qx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1om1h67g322yfp0248qx.png" alt="Arduino-IDE open settings UI" width="800" height="694"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Então, busque por &lt;code&gt;cortex-debug.gdbPath&lt;/code&gt; e altere o path default para: &lt;code&gt;/Users/&amp;lt;YOUR-USER&amp;gt;/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-2021r2-patch5-8.4.0/bin/xtensa-esp32s3-elf-gdb&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm9nq9vbo2vt7vn1eo1g3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm9nq9vbo2vt7vn1eo1g3.png" alt="Arduino-IDE config gdbPath" width="800" height="694"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Uma vez feito isso, volte a pressionar o botão de &lt;code&gt;Start-Debug&lt;/code&gt; novamente e tudo deverá ser executado com sucesso!&lt;/p&gt;

&lt;h2&gt;
  
  
  Continua com problemas?
&lt;/h2&gt;

&lt;p&gt;Caso o tutorial acima não tenha sido suficiente para resolver o seu caso, deixo em anexo diversos links que utilizei durante a resolução do meu caso. Espero que possam lhe auxiliar:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/espressif/arduino-esp32/issues/8237"&gt;https://github.com/espressif/arduino-esp32/issues/8237&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://stackoverflow.com/questions/65872178/openocd-gdb-executable-arm-none-eabi-gdb-was-not-found-please-configure-cort"&gt;https://stackoverflow.com/questions/65872178/openocd-gdb-executable-arm-none-eabi-gdb-was-not-found-please-configure-cort&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Marus/cortex-debug/issues/8"&gt;https://github.com/Marus/cortex-debug/issues/8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://forum.arduino.cc/t/debugging-on-the-new-nano-esp32/1153079/40"&gt;https://forum.arduino.cc/t/debugging-on-the-new-nano-esp32/1153079/40&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://stackoverflow.com/questions/18167198/using-nm-on-mac-apps-malformed-object"&gt;https://stackoverflow.com/questions/18167198/using-nm-on-mac-apps-malformed-object&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/arduino/arduino-ide/issues/866"&gt;https://github.com/arduino/arduino-ide/issues/866&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://forum.arduino.cc/t/arduino-zero-debug-error-with-ide-2-0/1046036/6"&gt;https://forum.arduino.cc/t/arduino-zero-debug-error-with-ide-2-0/1046036/6&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/arduino/arduino-ide/issues/87"&gt;https://github.com/arduino/arduino-ide/issues/87&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>debug</category>
      <category>esp32</category>
      <category>arduino</category>
      <category>osx</category>
    </item>
  </channel>
</rss>
