0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32F1系列DEBUG調(diào)試功能需要配置嗎?

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 作者:黃工的嵌入式技術(shù) ? 2020-03-01 13:57 ? 次閱讀

使用STM32CubeMX,配置STM32F1時(shí)關(guān)于DEBUG的問題,后臺(tái)問的較多,就寫一下相關(guān)內(nèi)容。

1寫在前面

STM32CubeMX的好處相信大部分朋友都知道,那就是幫你快速生成初始化代碼工程。

雖然方便了開發(fā),但也給一些初學(xué)者,或者不怎么懂底層的朋友帶來了不少困擾。

特別是使用該工具生成代碼,出現(xiàn)問題的時(shí)候,如果你不懂一些底層的知識(shí),可能你會(huì)很頭疼。

本文關(guān)于DEBUG配置的問題,針對(duì)初學(xué)者,我也把前因后果簡(jiǎn)單說一下。

2起因

STM32CubeMX配置STM32F1系列MCU時(shí),第一次能下載成功,但第二次,會(huì)出現(xiàn)如下錯(cuò)誤:

這是什么錯(cuò)誤?

沒有連接到目標(biāo),也就是你的下載器(ST-LInk)是正常的,只是沒有識(shí)別到你MCU。

這里推薦閱讀專欄文章:ST-Link資料

3分析原因

可能很多初學(xué)者看到這個(gè)錯(cuò)誤,第一反應(yīng)是不是下載區(qū)器壞了,或者接線不良等問題。

其實(shí)不然,直接原因是STM32CubeMX這個(gè)工具初始化的代碼,失能了DEBUG功能,也就是與ST-Link連接的SWCLK、SWDIO引腳不能作為DEBUG功能了。

STM32CubeMX默認(rèn)配置:

調(diào)用代碼HAL_AFIO_REMAP_SWJ_DISABLE:

進(jìn)一步分享,直到深入底層:

看到這里,相信大家都明白其中原因了。

但是,新的問題:為什么配置STM32其它系列(如STM32F4)不會(huì)出現(xiàn)在這個(gè)問題呢?

其實(shí)也是需要通過分析底層,答案就是STM32F1系列關(guān)于AFIO的控制器和其它系列有一定差異。

其它系列是通過一個(gè)系統(tǒng)配置控制器 (SYSCFG)來實(shí)現(xiàn)一些特殊功能,沒有關(guān)于DBUGE的SWJ-CFG幾個(gè)位(上圖)。

4出現(xiàn)不能下載,怎么解決?

如果出現(xiàn)文中說的,第一次下載之后,連接失敗,解決的辦法很多,這里列幾點(diǎn)常見方法。

1.STM32CubeMX配置成對(duì)應(yīng)模式

比如你下載器的S-Link,配置成SWD模式:

2.復(fù)位之后立刻連接

使用J-link帶復(fù)位引腳模式

按著復(fù)位鍵->連接 ->釋放復(fù)位鍵

3.使用串口下載

有兩種方式:

啟動(dòng)內(nèi)嵌Boot,使用串口下載,請(qǐng)參看文章《STM32自舉程序,你了解多少?》

IAP功能,有一段Bootloader程序,通過串口更新應(yīng)用程序。

5拓展

STM32部分型號(hào)MCU不帶JATG功能,比如STM32F0、STM32G0等。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    16667

    瀏覽量

    347772
  • DEBUG
    +關(guān)注

    關(guān)注

    3

    文章

    89

    瀏覽量

    19775
  • stm32cubemx
    +關(guān)注

    關(guān)注

    5

    文章

    278

    瀏覽量

    14619
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何使用STM32F1控制ESP8266?

    如何使用STM32F1控制ESP8266?
    發(fā)表于 07-09 06:21

    自制一款兼容STM32F1/F4芯片的飛控板

    自己制作的一款兼容STM32F1/F4芯片的飛控板。
    發(fā)表于 07-04 14:07 ?0次下載

    STM32F1改用STM32F2或STM32F4芯片后,發(fā)現(xiàn)芯片根本不能正常工作怎么解決?

    曾有工程師反映,之前用STM32F1系列芯片好好的,后來因?yàn)楫a(chǎn)品需要,改用STM32F2或STM32F4芯片后,發(fā)現(xiàn)芯片根本不能正常工作,即
    發(fā)表于 04-08 06:45

    STM32f1怎么判斷引起CAN發(fā)送中斷的ID是哪個(gè)?

    STM32f1怎么判斷引起CAN發(fā)送中斷的ID是哪個(gè)
    發(fā)表于 04-03 07:46

    STM32F1的LL庫(kù),RTC怎么不能設(shè)置日期?

    STM32F1的LL庫(kù),RTC 怎么不能設(shè)置日期,只能設(shè)置時(shí)間。
    發(fā)表于 03-29 07:02

    能用stm32h7為主做絕大部分的功能實(shí)現(xiàn),用stm32f1為輔實(shí)現(xiàn)一個(gè)小功能嗎?

    請(qǐng)問能用stm32h7為主做絕大部分的功能實(shí)現(xiàn),用stm32f1為輔實(shí)現(xiàn)一個(gè)小功能嗎?
    發(fā)表于 03-20 07:09

    stm32f1如何將外部中斷關(guān)掉hal庫(kù)

    Layer)來簡(jiǎn)化芯片和外設(shè)的驅(qū)動(dòng)開發(fā)。在STM32F1中,外部中斷的關(guān)閉是通過HAL庫(kù)中的相應(yīng)函數(shù)來實(shí)現(xiàn)的。下面我將詳細(xì)介紹如何使用HAL庫(kù)關(guān)閉外部中斷。 引入必要的頭文件 要使用外部中斷功能,首先需要
    的頭像 發(fā)表于 12-22 13:52 ?2563次閱讀

    STM32F1系列單脈沖模式下最小脈寬為多少?

    在微控制器領(lǐng)域,STM32F1系列是一款非常流行的產(chǎn)品,廣泛應(yīng)用于各種嵌入式系統(tǒng)設(shè)計(jì)。
    的頭像 發(fā)表于 12-13 09:58 ?686次閱讀

    STM32WB55開發(fā)(4)----配置串口打印Debug調(diào)試信息

    STM32WB55系列微控制器上進(jìn)行開發(fā)時(shí),實(shí)時(shí)監(jiān)控應(yīng)用程序的運(yùn)行情況和調(diào)試潛在問題是至關(guān)重要的。使用串口(USART/UART)進(jìn)行Debug信息打印是一種簡(jiǎn)便、高效的方法。下面是
    的頭像 發(fā)表于 12-01 15:48 ?975次閱讀
    <b class='flag-5'>STM32</b>WB55開發(fā)(4)----<b class='flag-5'>配置</b>串口打印<b class='flag-5'>Debug</b><b class='flag-5'>調(diào)試</b>信息

    STM32F1可以在多少的濕度下正常工作?

    STM32F1可以在多少的濕度下正常工作
    發(fā)表于 10-10 07:13

    STM32F1系列MCU硬件電路最小系統(tǒng)設(shè)計(jì)

    STM32F1系列的MCU電源軌比較簡(jiǎn)單,從規(guī)格書P44的Table 10可以看到,共有VDD、VDDA、和VBAT三組電源軌。
    的頭像 發(fā)表于 09-27 14:55 ?1298次閱讀
    <b class='flag-5'>STM32F1</b><b class='flag-5'>系列</b>MCU硬件電路最小系統(tǒng)設(shè)計(jì)

    STM32F1系列MCU硬件電路USB/CAN接口設(shè)計(jì)

    STM32F1系列MCU支持USB2.0接口,查閱芯片規(guī)格書知道,當(dāng)使用全速USB時(shí),需要在信號(hào)線DP上上拉1.5kΩ至3.3V,詳細(xì)如下圖圈出的note所示。
    發(fā)表于 09-27 14:43 ?4861次閱讀
    <b class='flag-5'>STM32F1</b><b class='flag-5'>系列</b>MCU硬件電路USB/CAN接口設(shè)計(jì)

    STM32F1系列MCU硬件電路FSMC接口設(shè)計(jì)

    FSMC是STM32F1提供的一個(gè)靜態(tài)存儲(chǔ)控制器,是MCU用來擴(kuò)展存儲(chǔ)器,可用來驅(qū)動(dòng)SRAM、Nor Flash、NAND Flash。這里先簡(jiǎn)單講解下這三種存儲(chǔ)器的應(yīng)用場(chǎng)合。
    發(fā)表于 09-27 14:33 ?2361次閱讀
    <b class='flag-5'>STM32F1</b><b class='flag-5'>系列</b>MCU硬件電路FSMC接口設(shè)計(jì)

    請(qǐng)問stm32f1系列自帶dfu嗎?

    請(qǐng)問stm32f1系列自帶dfu嗎,我知道f4是自帶的
    發(fā)表于 09-25 07:09

    STM32F1移植到STM32F0的應(yīng)用筆記分享

    。本文檔收集了最重要的信息,并列出了需要注意的重要事項(xiàng)。要將應(yīng)用程序從 STM32F1 系列移植到 STM32F0 系列,用戶
    發(fā)表于 09-22 07:23