色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

工程師筆記|STM32F745 USART1 Bootloader 失敗原因分析與解決

STM32單片機 ? 來源:未知 ? 2023-01-08 16:50 ? 次閱讀

關鍵詞:STM32F745,Bootloader,USART

目錄預覽

1. 概述

2. 問題分析

3. 問題解決

4. 總結

1.概述

STM32 的 Bootloader 可以支持多種協議的,比如 USART,I2C,DFU 等等,USARTBootloader 是客戶使用 STM32 的時候常常會用到的協議。客戶在使用 STM32F745 進行產品開發的時候,出現了使用 STM32CubeProgramer 無法通過 USART1 Bootloader 進行程序升級的問題。為了解決客戶的問題,我在 NUCLEO-F746ZG 開發板上,復現了同樣的現象,本文針對這個現象,分析了該問題的原因和解決方法,作為一個記錄。

2.問題分析

STM32F745/6 USART1 Bootloader 使用的 TX 和 RX 分別是 PA9 和 PA10。而NUCLEO-F746ZG 開發板,默認情況下,板子上的 PA9 和 PA10 被用作 USB Vbus 和USB ID, 需要斷開板子上的 SB127 和 SB125 才能讓 PA9 和 PA10 被 USART1 使用。使用 STM32CubeProgrammer 下載工具,通過 USB-Serial 轉接板連上 NUCLEOF746ZG,如圖 1 所示,選擇 USART 協議,選擇對應的 USART1 端口,其它參數選用默認配置,然后連接 NUCLEO 開發板,結果出現連接失敗。對照著 UM1974,檢查連線沒有問題,確認了 BOOT 腳為高電平,MCU 也進入Bootloader 模式,同時參考 AN2606,確認 STM32F475/6 支持 USART1 Bootloader。測試 USART3 Bootloader,STM32CubeProgrammer 可以正常連接。

de497d56-8f30-11ed-bfe3-dac502259ad0.png

參考 AN3155 了解 UART Bootloader 的工作流程如圖 2,果斷使用串口終端,比較USART1 Bootloader 和 USART3 Bootloader 響應上位機的命令有何區別。

de751da8-8f30-11ed-bfe3-dac502259ad0.png

使用串口終端工具,分別連接 USART1,USART3,發送對應的 UART Bootloader 命令,得到下圖 3 的命令交互。

圖3.USART1 Bootloader Command Interaction

de94f970-8f30-11ed-bfe3-dac502259ad0.png

通過圖 3 的命令交互可以看出,當 USART1 Bootloader 收到 7F 命令的時候,返回的值是 FF 79,正常的情況下,應該返回 79。命令 7F 的作用是選擇對應的 USART Bootloader,返回 79 表示 MCU 正確的進入了 USART Bootloader 工作模式,在 USART1 Bootloader 中,STM32CubeProgrammer 發送 7F 命令收到的返回值是 FF 79,所以STM32CubeProgrammer 認為此時 MCU 沒有正確的進入 USART Bootloader 模式,因此連不上目標板。

顯然,這個多余的 FF 不應該是 Bootloader 發出來的,通過示波器,觀察 USART1TX 的 PA9 發現,復位芯片之后,PA9 為低電平,而根據參考手冊,當 USART1 使能之后,此時 USART TX 應該為高電平才正常,所以懷疑這個異常現象是 USART1 產生了錯誤的數據導致的。

針對這種現象,在 PA9 外部上拉,再進行測試,USART1 Bootloader 工作正常。

3.問題解決

根據上面的分析,USART1 TX 沒有上拉導致了 USART1 Bootloader 無法正常工作,但通常情況下,我們使用 USART 的時候,TX,RX 是無需外加上拉的,為什么STM32F745/6 的 USART1 需要上拉,而 USART3 無需上拉呢?帶著這個問題,仔細閱讀了相關文檔,最終再 AN2606 V5.1(之前版本沒有注明)版本中,發現了這個區別,正是這個區別導致了這個問題。

dec791a0-8f30-11ed-bfe3-dac502259ad0.png

4.總結

通過分析和解決這個問題,可見及時更新并仔細閱讀相關文檔是很重要的事情.針對這個問題,如果仔細閱讀了最新的 AN2606,就能很快定位產生問題的原因。當然,通過逐步分析這個問題,也進一步加深了對 Bootloader 的理解。

dee5410a-8f30-11ed-bfe3-dac502259ad0.png

長按掃碼關注公眾號

更多資訊,盡在STM32

點擊“閱讀原文”,可下載原文檔


原文標題:工程師筆記|STM32F745 USART1 Bootloader 失敗原因分析與解決

文章出處:【微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。


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

    關注

    6039

    文章

    44582

    瀏覽量

    636479
  • STM32
    +關注

    關注

    2270

    文章

    10910

    瀏覽量

    356598

原文標題:工程師筆記|STM32F745 USART1 Bootloader 失敗原因分析與解決

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    用二創,1:1復刻工程師的職場現狀

    工程師
    揚興科技
    發布于 :2024年07月19日 18:30:07

    在RT-Thread Studio中新建的stm32f407-atk-explorer工程運行qemu失敗,是什么原因引起的?

    在RT-Thread Studio中新建的stm32f407-atk-explorer工程運行qemu失敗,是什么原因引起的?該如何修改? 工程
    發表于 07-16 06:08

    開發環境coocox,stm32f429串口輸出總是亂碼的原因?

    一個小小的串口居然讓我搗鼓了兩天還沒出來,時鐘正確,usart寄存器值也是對的。然后試了試源碼居然一樣亂碼。不知道是怎么了。板子是官方的論壇送的stm32f429zit6。下面貼上代碼和源碼
    發表于 05-17 07:38

    stm32高級定時器主輸出使能后,usart1就不能發送只能接收,為什么?

    ,我看了下源碼,跟usart1沒有半毛錢關系啊,我還試了一下直接操作寄存器,也還是一樣的效果。對此感覺很奇怪,這是不是又是stm32f103的一個bug?我把代碼也上傳分享一下,親測可用的除了以上一點小bug,是57步進電機配合tb6600驅動的。
    發表于 05-07 06:51

    STM32L151C8T6同樣的代碼,USART1正常,USART2不工作是為什么?

    請教: MCU是STM32L151C8T6。 同樣的代碼,USART1正常,USART2不工作。 請問,這是為什么 ?
    發表于 04-23 06:03

    STM32F103RCT6的USART1不能接收多字節數據是什么原因導致的?

    用串口助手手動發送和1秒一次的定時發送時,STM32F103RCT6能完整地接收到15個字節的數據。 用串口助循環發送時,與延時有關。500毫秒延時,STM32F103RCT6能接收到12個字
    發表于 04-17 06:35

    STM32F051 USART1接收數據亂碼的原因?

    求助:STM32F051 USART1發送沒有中斷,接收使能中斷,發送數據正常,接收數據亂碼,確認進入了接收中斷,但數據出現亂碼,請問有哪些原因
    發表于 04-16 06:14

    STM32F030串口用IDLE中斷接收不定長度數據包,中斷異常的原因?

    _Mode = USART_Mode_Rx | USART_Mode_Tx; //使用接收發送功能 USART_Init(USART1,USART
    發表于 04-12 06:08

    STM32L431x用usart1打印會亂碼的原因?

    STM32L431x用usart1打印會亂碼的原因?
    發表于 04-08 06:12

    STM32Cube做的USART1得PB67發送給電腦數據時會亂碼的原因?

    STM32Cube做的USART1得PB67發送給電腦數據會時亂碼,使用得轉化工具是CH340,有人遇到嗎
    發表于 04-07 06:46

    請問STM32G473VET6的LPUART1能和USART1能同時使用嗎?

    STM32G473VET6的LPUART1能和USART1能同時使用嗎?
    發表于 03-22 07:00

    STM32G051K8T6-USART1無法工作的原因?如何解決?

    問題描述:使用STM32CubeMX做簡單的測試工程,只打開USART1USART2功能,RCC設置為LSE。 使用USART1、
    發表于 03-22 06:59

    STM32WBA52CG升級到STM32Cube FW_WBA V1.2.0后,調用BleStack_Init后USART1輸出異常怎么解決?

    使用STM32WBA52CG開發藍牙,板子是NUCLEO-WBA52CG,USART1作為log輸出通道。之前使用STM32Cube FW_WBA V1.1.1沒什么問題。最近升級了
    發表于 03-08 06:04
    主站蜘蛛池模板: 亚洲免费视频在线观看| 午夜毛片在线观看| 国产精品无码视频一区二区| 超碰97超碰在线视频哦| 99久久免费只有精品| 97精品少妇偷拍AV| 正在播放国产精品| 在线广播收听| 99精品在线免费| 国产高清在线观看| 国产AV亚洲精品久久久久软件| 高清不卡伦理电影在线观看| 国产99小视频| 久久久久毛片免费观看| 美女快播第一网| 美女扒开尿孔| 欧美午夜免费观看福利片| 噼里啪啦免费观看视频大全| 亚洲国产精品VA在线看黑人| 亚洲日韩中文字幕区| 伊人久久综在合线影院| 最近中文字幕在线中文视频| 99国产精品| 成年人深夜福利| bl高h文合集| YELLOW在线观看高清视频免费 | 在线看片韩国免费人成视频| 福利视频久久| 两个人的视频hd全免费 | 国产女人与黑人在线播放| 精品亚洲国产成AV人片传媒| 久久一级视频| 轻轻cao| 天堂在线亚洲精品专区| 亚洲国产高清在线| 99在线播放| 国产精品-区区久久久狼| 精品水蜜桃久久久久久久| 日日噜噜大屁股熟妇| 亚洲 日韩 在线 国产 精品| 中字幕视频在线永久在线|