RM新时代网站-首页

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32F1系列DEBUG調試功能需要配置嗎?

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

使用STM32CubeMX,配置STM32F1時關于DEBUG的問題,后臺問的較多,就寫一下相關內容。

1寫在前面

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

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

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

本文關于DEBUG配置的問題,針對初學者,我也把前因后果簡單說一下。

2起因

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

這是什么錯誤?

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

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

3分析原因

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

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

STM32CubeMX默認配置:

調用代碼HAL_AFIO_REMAP_SWJ_DISABLE:

進一步分享,直到深入底層:

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

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

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

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

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

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

1.STM32CubeMX配置成對應模式

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

2.復位之后立刻連接

使用J-link帶復位引腳模式

按著復位鍵->連接 ->釋放復位鍵

3.使用串口下載

有兩種方式:

啟動內嵌Boot,使用串口下載,請參看文章《STM32自舉程序,你了解多少?》

IAP功能,有一段Bootloader程序,通過串口更新應用程序。

5拓展

STM32部分型號MCU不帶JATG功能,比如STM32F0、STM32G0等。

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

    關注

    146

    文章

    17123

    瀏覽量

    350983
  • DEBUG
    +關注

    關注

    3

    文章

    93

    瀏覽量

    19907
  • stm32cubemx
    +關注

    關注

    5

    文章

    283

    瀏覽量

    14791
收藏 人收藏

    評論

    相關推薦

    STM32F103×8/STM32F103×B MCU手冊

    需要確定系統(tǒng)時鐘源,如使用HSE或HSI,然后配置PLL倍增因子以獲得所需的系統(tǒng)時鐘頻率。這通常通過修改RCC(復位與時鐘控制)寄存器來完成,并可以在STM32CubeMX或標準外設庫/HAL庫中輕松設置。2. Q: 為什么
    發(fā)表于 11-18 15:14 ?0次下載

    使用STM32F1輸入捕獲功能時,TIM6和TIM7無法實現(xiàn)輸入捕獲是哪里的問題?

    使用STM32F1輸入捕獲功能時,TIM6和TIM7無法實現(xiàn)輸入捕獲,是芯片問題嗎?在配置STM32F1的TIM6和TIM7定時器時,發(fā)現(xiàn)無法進行輸入捕獲,是否因為芯片
    發(fā)表于 09-27 09:11

    開發(fā)攻略之STM32調試端口的映射

    最近有一個項目用到了STM32F103RB系列單片機,由于引腳數(shù)量較少,不得不使用到了單片機的PB3和PB4兩個引腳。而這兩個引腳剛好又是STM32系列的JTAG
    的頭像 發(fā)表于 08-03 08:11 ?428次閱讀
    開發(fā)攻略之<b class='flag-5'>STM32</b><b class='flag-5'>調試</b>端口的映射

    如何使用STM32F1控制ESP8266?

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

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

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

    STM32F1 IAP操作讀保護選項字節(jié)設置,APP使用系統(tǒng)復位跳轉后無法運行IAP的原因?

    最近調試一個程序,是基于STM32F1做的IAP,升級前后需要修改選項字節(jié),F(xiàn)LASH_EraseOptionBytes函數(shù)內OB->RDP=RDP_Key語句實現(xiàn)讀保護的解除,如果我
    發(fā)表于 05-13 08:09

    STM32F1內部ADC的DUAL MODE的使用問題求解

    我想利用STM32F1內部的ADC采集四路電壓值,因為要求同時采集,所以我使用了ADC的DUAL MODE,可是由于始終未能讀明白芯片手冊!ADC的設置與DMA的設置基本上參考STM32F1提供
    發(fā)表于 05-09 06:51

    stm32f1做的usb鍵盤,連電腦無法識別怎么解決?

    stm32f1做的usb鍵盤,連電腦無法識別
    發(fā)表于 04-11 08:19

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

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

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

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

    STM32F1的LL庫,RTC怎么不能設置日期?

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

    STM32CubeMX創(chuàng)建STM32U5系列工程,DEBUG調試下為什么沒有ST-LINK選項?

    通過STM32CubeMx創(chuàng)建生成一個STM32U5xxx 的MDK(keil_v5)工程,打開工程后,想通過ST-LINK進行調試,但在工程的Debug窗口并沒有ST-LINK相關的
    發(fā)表于 03-27 06:40

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

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

    請問如何快速移植stm32f1的程序到STM32C0中?

    如何快速移植stm32f1的程序到STM32C0中?
    發(fā)表于 03-08 06:54

    STM32H750 PB3、PB4、PB5配置成SPI功能需要額外處理JTAG功能嗎?

    STM32H750 PB3、PB4、PB5配置成SPI功能需要額外關閉JTAG功能嗎。調試選擇了
    發(fā)表于 03-07 07:03
    RM新时代网站-首页