真.從“零”搞 VSCode+STM32CubeMx+C <2>調試+燒錄

目錄

前言

準備工作

Daplink連接

調試配置(cortex-debug)

燒錄配置

坑點


前言

? ? ? 昨天有驚無險的構建了一個簡單的閃燈程序,今天來挑戰下調試+燒錄,看看有什么坑。

準備工作

  • OpenOCD下載:openocd-xpack
  • Daplink調試器

Daplink連接

  • 接線,如下

Daplink? ? ? ? ?單片機

TCK/CK ----- SWCLK

TMS/IO? ----- SWIO

3.3v? ? ? ? ----- 3.3v

GND? ? ? ?----- GND

  • 插上電腦,直接會識別(我的是windows10)

調試配置(cortex-debug)

  • 需要提前安裝好cortex-debug插件,并添加launch.json配置文件,這里需要注意.cfg要配置成符合自己單片機的,文件在openocd的“openocd\scripts\target”路徑下

  • 插件不會幫助你安裝openocd需要自己下載,并配置環境變量,配置完之后,務必關閉VSCode,再重新打開
  • 配置完成后,就可以直接點擊上圖中左上方的運行按鈕,程序會自動燒錄到單片機中,并可執行斷點調試。

燒錄配置

  • 如果不需要調試,那直接配如下所述的就可以了

  • 點擊開發工具右上方的燒錄按鈕,即可完成燒錄

異常解決

  • 今天相對比較順利,遇到兩個問題,一是VSCode始終讀不到配置好的openocd的環境變量,重啟多次后可以了;二是調式報錯以及無法燒錄程序,這個問題比較刁鉆,多種報錯信息:
Output radix now set to decimal 10, hex a, octal 12.
Input radix now set to decimal 10, hex a, octal 12.
0x0800025e in HAL_MspInit () at ./Core/Src/stm32f1xx_hal_msp.c:77
77	  __HAL_AFIO_REMAP_SWJ_DISABLE();
Program stopped, probably due to a reset and/or halt issued by debugger
[stm32f1x.cpu] halted due to debug-request, current mode: Thread 
xPSR: 0x01000000 pc: 0x0800016c msp: 0x20000660
[stm32f1x.cpu] halted due to breakpoint, current mode: Thread 
xPSR: 0x01000000 pc: 0x08000c34 msp: 0x20005000
Error connecting DP: cannot read IDRProgramstopped.
0x00000000 in ?? ()
Error: Error connecting DP: cannot read IDR
Error: [stm32f1x.cpu] Polling failed, trying to reexamine
Error: [stm32f1x.cpu] Examination failed
Error: [stm32f1x.cpu] Examination failed, GDB will be halted. Polling again in 300ms
Error: Error connecting DP: cannot read IDR
Error: Failed to read memory and, additionally, failed to find out where
Error: Error connecting DP: cannot read IDR

解決:

原來是STM32CubeMx生成代碼的時候,有一行禁止調試的代碼:

注釋掉!即可!重新構建。

  • 但我們之前的程序已經燒錄,怎么辦?考研手速的時候到了!用單片機上的Reset按鈕,按住,點燒錄,看到成功連接OCD后立刻松開,便可以正常燒錄了。
  • 由于這行代碼是STM32CubeMx生成的,下次有什么引腳變化,還得用他生成,那么就需要直接一下,讓它不要生成,如下:

后記

? ? ? 又是有驚無險的一通瞎操作,接下來要開始進入此次旅程的核心 → 用Make編譯出bin文件,并燒錄到單片機中。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/78775.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/78775.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/78775.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ES6 Map/WeakMap/Set/WeakSet 全解指南

一、設計思想與核心概念 1. 解決傳統結構的痛點 Object:鍵只能是字符串/Symbol、無序、無size屬性Array:查找效率低(O(n))、無自動去重機制核心突破:// 傳統方式 vs ES6方式 const obj { [{}]: value }; // 鍵會被轉為"[object Obje…

算法篇-----滑動窗口

1.概念 所謂的滑動窗口,就是我們之前的雙指針的一個擴展應用,在上一章中,我們的雙指針是相向而行的,而這里的雙指針是同向而行的,由于其移動過程中像一個窗口一樣來回滑動,時大時小,而且還會來…

1.1探索 LLaMA-Factory:大模型微調的一站式解決方案

探索 LLaMA-Factory:大模型微調的一站式解決方案 引言 在大模型的時代,微調技術是將預訓練模型適配到特定任務的關鍵。LLaMA-Factory 作為一款強大的工具,為開發者提供了便捷且高效的大模型微調解決方案。本文將深入介紹 LLaMA-Factory 的基…

神經網絡筆記 - 感知機

一 感知機是什么 感知機(Perceptron)是一種接收輸入信號并輸出結果的算法。 它根據輸入與權重的加權和是否超過某個閾值(threshold),來判斷輸出0還是1。 二.計算方式 感知機的基本公式如下: X1, X2 : …

Pygame事件處理詳解:鍵盤、鼠標與自定義事件

Pygame事件處理詳解:鍵盤、鼠標與自定義事件 在游戲開發中,玩家的交互是至關重要的。無論是移動角色、觸發動作還是暫停游戲,都需要通過各種輸入來實現。Pygame作為一個功能強大的Python庫,提供了豐富的API來處理這些輸入,包括鍵盤、鼠標以及自定義事件。本文將詳細介紹如…

使用 Python 項目管理工具 uv 快速創建 MCP 服務(Cherry Studio、Trae 添加 MCP 服務)

文章目錄 下載Traeuv 工具教程參考我的這篇文章創建 uv 項目main.pyCherry Studio 添加 MCP 服務申請 DeepSeek API配置 DeepSeek API調用 MCP 服務 Trae 添加 MCP 服務添加 MCP創建智能體 使用智能體調用 MCP 創建 demo 表查詢 demo 表結構信息demo 表插入 2 條測試數據查詢 d…

為什么要學習《金剛經》

《金剛經》作為佛教般若經典的核心,以"緣起性空"為思想根基,通過佛陀與須菩提的對話,揭示了破除執著、見真實相的智慧。 以下從核心要義、精髓段落和現實應用三個維度進行解讀: 一、核心思想精髓 1. "凡所有相&am…

【MQ篇】RabbitMQ之消費失敗重試!

目錄 引言:消息不丟是底線,失敗了優雅重試是修養!消費失敗了,為啥不能老是原地復活?🤔智能重試策略一:本地重試(Spring Retry 的魔法)🏠?智能重試策略二&…

制作一款打飛機游戲33:碰撞體編輯

我們設置系統的方式使得編輯碰撞檢測框(即碰撞盒)并不容易。所以,我們的下一步是擴展我們的編輯器,尤其是精靈編輯器,以便我們能夠在編輯器中直接編輯碰撞盒。 編輯碰撞盒 讓我們加載Sprite編輯器。例如,這…

Kotlin和JavaScript的對比

Kotlin和JavaScript有一些相似之處,但也存在顯著的差異,下面從多個方面為你詳細分析: 相似點 1. 語法靈活性 變量聲明:二者在變量聲明上都較為靈活。在JavaScript里,借助var、let和const可以聲明變量。其中&#xf…

生活需要一些思考

總分總 寫文章、做事情、寫郵件、寫信,都是要【總分總】。 先總【因為沒人有耐心一上來就看細節,先總結,別人感興趣才會看分】 然后分【分中包括多個子部分,或子章節、子目標,他們之間層層遞進,最終引出最…

JAVA設計模式——(九)工廠模式

JAVA設計模式——(九)工廠模式 介紹理解實現ProductFactory測試泛型擴展 應用 介紹 定義一個工廠類的接口,幫助一個實際對象 創建實例,并讓其工廠類的子類決定實例化哪個類。 理解 工廠模式中,必定分為了兩部分&…

Java后端接口調用攔截處理:注解與攔截器的實現

在Java開發中,對后端接口調用進行攔截處理是一種常見的需求,通常用于權限驗證、Token校驗、狀態更新等操作。本文將圍繞 Spring框架的攔截器(Interceptor)、Spring AOP(面向切面編程) 和 Spring Security 三…

第14講:科研圖表的導出與排版藝術——高質量 PDF、TIFF 輸出與投稿規范全攻略!

目錄 ?? 前言:導出,不只是“保存”! ?? 一、你需要掌握的導出目標 ??? 二、TIFF / PNG 導出規范(適用于投稿) ?? 三、PDF 矢量圖導出(排版首選) ?? 四、強烈推薦組合:showtext + Cairo ?? 五、多個圖的組合導出技巧 ?? 六、特殊投稿需求處理 ?…

對 FormCalc 語言支持較好的 PDF 編輯軟件綜述

FormCalc是一種專為PDF表單計算設計的腳本語言,主要應用于Adobe生態及SAP相關工具。以下是對FormCalc支持較好的主流軟件及其特點: 1. Adobe LiveCycle Designer 作為FormCalc的原生開發環境,LiveCycle Designer提供最佳支持: …

第二階段:基礎加強階段總體介紹

Java語法的學習筆記 下面放復習的文檔鏈接,如果有需要可以前往下載獲取,這個倉庫還有關于mysql、hadoop、python等的復習部分,并且每個文檔有著對應的代碼部分。文章作為復習使用,更多代碼內容見鏈接如下: https://gitee.com/zha…

大前端開發——前端知識漸變分層講解 利用金字塔原理簡化前端知識體系

Web開發基礎 核心概念 HTML、CSS和JavaScript:Web開發的三大基石,分別負責結構、樣式和行為。 代碼管理:隨著項目規模擴大,需要將代碼拆分成小塊,便于維護。 作用域污染:早期所有代碼共享全局作用域&…

Mixture-of-Experts(MoE)原理與在DeepSeek中的應用

MoE機制簡介 Mixture-of-Experts(MoE,混合專家)是一種“分而治之”的神經網絡架構思想。在MoE模型中,存在多個并行的子網絡,被稱為“專家”。每個專家通常擅長處理特定類型的輸入特征或知識片段。而在模型前向計算時,并非激活所有專家參與運算,而是通過一個專門的門控網…

SpringCloud學習筆記

個人學習進度:視頻跟敲筆記(12天) 學習視頻:尚硅谷微服務速通(7小時左右課程) 資源: 1.pdf:微服務pdf(課程):https://pan.baidu.com/s/1g_TAuBjQ…

【大模型】Coze AI 智能體工作流從配置到使用實戰詳解

目錄 一、前言 二、工作流介紹 2.1 什么是工作流 2.2 工作流與對話流 2.2.1 兩者區別 2.3 工作流節點介紹 2.3.1 工作流節點說明 2.3.2 開始節點與結束節點 2.4 工作流入口 2.4.1 自定義智能體入口 2.4.2 從資源庫新增工作流 2.5 工作流使用限制 三、工作流配置與使…