精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

STM32F745 USART1 Bootloader失敗原因分析與解決

MCU開(kāi)發(fā)加油站 ? 來(lái)源:STM32單片機(jī) ? 作者:STM32單片機(jī) ? 2023-01-13 10:33 ? 次閱讀

1. 概述

STM32 的 Bootloader 可以支持多種協(xié)議的,比如 USART,I2C,DFU 等等,USARTBootloader 是客戶(hù)使用 STM32 的時(shí)候常常會(huì)用到的協(xié)議。客戶(hù)在使用 STM32F745 進(jìn)行產(chǎn)品開(kāi)發(fā)的時(shí)候,出現(xiàn)了使用 STM32CubeProgramer 無(wú)法通過(guò) USART1 Bootloader 進(jìn)行程序升級(jí)的問(wèn)題。為了解決客戶(hù)的問(wèn)題,我在 NUCLEO-F746ZG 開(kāi)發(fā)板上,復(fù)現(xiàn)了同樣的現(xiàn)象,本文針對(duì)這個(gè)現(xiàn)象,分析了該問(wèn)題的原因和解決方法,作為一個(gè)記錄。

2. 問(wèn)題分析

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

93cb91b2-9267-11ed-bfe3-dac502259ad0.png

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

93f3495a-9267-11ed-bfe3-dac502259ad0.png

使用串口終端工具,分別連接 USART1,USART3,發(fā)送對(duì)應(yīng)的 UART Bootloader 命令,得到下圖 3 的命令交互。

圖3.USART1 Bootloader Command Interaction

940207ba-9267-11ed-bfe3-dac502259ad0.png

通過(guò)圖 3 的命令交互可以看出,當(dāng) USART1 Bootloader 收到 7F 命令的時(shí)候,返回的值是 FF 79,正常的情況下,應(yīng)該返回 79。命令 7F 的作用是選擇對(duì)應(yīng)的 USART Bootloader,返回 79 表示 MCU 正確的進(jìn)入了 USART Bootloader 工作模式,在 USART1 Bootloader 中,STM32CubeProgrammer 發(fā)送 7F 命令收到的返回值是 FF 79,所以STM32CubeProgrammer 認(rèn)為此時(shí) MCU 沒(méi)有正確的進(jìn)入 USART Bootloader 模式,因此連不上目標(biāo)板。

顯然,這個(gè)多余的 FF 不應(yīng)該是 Bootloader 發(fā)出來(lái)的,通過(guò)示波器,觀察 USART1TX 的 PA9 發(fā)現(xiàn),復(fù)位芯片之后,PA9 為低電平,而根據(jù)參考手冊(cè),當(dāng) USART1 使能之后,此時(shí) USART TX 應(yīng)該為高電平才正常,所以懷疑這個(gè)異常現(xiàn)象是 USART1 產(chǎn)生了錯(cuò)誤的數(shù)據(jù)導(dǎo)致的。

針對(duì)這種現(xiàn)象,在 PA9 外部上拉,再進(jìn)行測(cè)試,USART1 Bootloader 工作正常。

3. 問(wèn)題解決

根據(jù)上面的分析,USART1 TX 沒(méi)有上拉導(dǎo)致了 USART1 Bootloader 無(wú)法正常工作,但通常情況下,我們使用 USART 的時(shí)候,TX,RX 是無(wú)需外加上拉的,為什么STM32F745/6 的 USART1 需要上拉,而 USART3 無(wú)需上拉呢?帶著這個(gè)問(wèn)題,仔細(xì)閱讀了相關(guān)文檔,最終再 AN2606 V5.1(之前版本沒(méi)有注明)版本中,發(fā)現(xiàn)了這個(gè)區(qū)別,正是這個(gè)區(qū)別導(dǎo)致了這個(gè)問(wèn)題。

941617f0-9267-11ed-bfe3-dac502259ad0.png

4.總結(jié)

通過(guò)分析和解決這個(gè)問(wèn)題,可見(jiàn)及時(shí)更新并仔細(xì)閱讀相關(guān)文檔是很重要的事情。針對(duì)這個(gè)問(wèn)題,如果仔細(xì)閱讀了最新的 AN2606,就能很快定位產(chǎn)生問(wèn)題的原因。當(dāng)然,通過(guò)逐步分析這個(gè)問(wèn)題,也進(jìn)一步加深了對(duì) Bootloader 的理解。

審核編輯:湯梓紅

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

    關(guān)注

    2266

    文章

    10876

    瀏覽量

    354923
  • 串口
    +關(guān)注

    關(guān)注

    14

    文章

    1547

    瀏覽量

    76229
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4959

    瀏覽量

    97214
  • bootloader
    +關(guān)注

    關(guān)注

    2

    文章

    234

    瀏覽量

    45557
  • USART1
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    3670

原文標(biāo)題:STM32F745 USART1 Bootloader 失敗原因分析與解決

文章出處:【微信號(hào):mcugeek,微信公眾號(hào):MCU開(kāi)發(fā)加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32USART1USART2模塊串行數(shù)據(jù)通訊功能

    STM32USART1USART2模塊支持多種功能,包括IrDA紅外、Smart Card(IC卡)等。
    發(fā)表于 07-24 14:28 ?4664次閱讀
    <b class='flag-5'>STM32</b>的<b class='flag-5'>USART1</b>與<b class='flag-5'>USART</b>2模塊串行數(shù)據(jù)通訊功能

    STM32F051 USART1接收數(shù)據(jù)亂碼的原因

    求助:STM32F051 USART1發(fā)送沒(méi)有中斷,接收使能中斷,發(fā)送數(shù)據(jù)正常,接收數(shù)據(jù)亂碼,確認(rèn)進(jìn)入了接收中斷,但數(shù)據(jù)出現(xiàn)亂碼,請(qǐng)問(wèn)有哪些原因
    發(fā)表于 04-16 06:14

    【分享】stm32 串口中斷總結(jié):USART1

    本文以USART1為例,敘述串口中斷的編程過(guò)程。1、先來(lái)講述一下在應(yīng)用串口中斷時(shí)涉及到的一些庫(kù)文件。首先對(duì)于STM32外設(shè)庫(kù)文件的應(yīng)用編程,misc.c和stm32f10x_rcc.c
    發(fā)表于 03-28 15:43

    STM32F745通過(guò)FMC訪問(wèn)FPGA順序被優(yōu)化

    有人嗎?有沒(méi)有人使用STM32F745,通過(guò)FMC訪問(wèn)FPGA,但是相鄰的訪問(wèn)的操作的順序被優(yōu)化!
    發(fā)表于 04-15 01:05

    stm32f745平臺(tái)上搭建ethernet通信程序

    ??使用STM32CubeMx5.21,在stm32f745平臺(tái)上搭建ethernet通信程序,PHY選用KSZ8081RNB。(LAN8742/DP83848使用一樣)1、系統(tǒng)時(shí)鐘設(shè)置??RCC
    發(fā)表于 08-10 06:16

    STM32F407 USART1控制RGB彩燈

    STM32F407–USART1 控制 RGB 彩燈實(shí)驗(yàn)編程的大部分函數(shù)都是在 c 文件里寫(xiě)的,頭文件是一個(gè)聲明 c 文件里函數(shù)的地方。USART1 控制 RGB 彩燈實(shí)驗(yàn)的 c 文件里主要包括兩個(gè)
    發(fā)表于 08-24 06:50

    如何通過(guò)USART1對(duì)STM32F7xx進(jìn)行編程?

    我嘗試通過(guò) USART1 (PA9/PA10) 對(duì) STM32F765 進(jìn)行編程,但連接失敗。我使用 STM32CubeProgrammer v2.7.0。如果我在我的目標(biāo)上改用
    發(fā)表于 01-03 07:57

    STM32F769BI使用USART1通過(guò)引導(dǎo)加載程序?qū)懭雋ex文件總是報(bào)錯(cuò)的原因

    單片機(jī):STM32F769BI程序員:stm32CubeProgrammer Ver2.6.0我將 MCU 的 BOOT 引腳設(shè)置為 H 電平進(jìn)行引導(dǎo),并嘗試使用 USART1 通過(guò)引導(dǎo)加載程序?qū)懭?hex 文件。進(jìn)行到一半,總
    發(fā)表于 01-11 06:52

    STM32F1 _DMA_USART

    STM32F1_DMA_USART
    的頭像 發(fā)表于 04-08 10:23 ?4590次閱讀
    <b class='flag-5'>STM32F1</b> _DMA_<b class='flag-5'>USART</b>

    STM32學(xué)習(xí)】(6)串口1的使用(USART1

    單片機(jī)串口是必須要學(xué)習(xí)的,而且很重要,在數(shù)據(jù)傳輸已經(jīng)程序調(diào)試中都很重要。本博客先學(xué)習(xí)一下USART1 串口其實(shí)串口不是每一個(gè)IO都可作為串口的,他是有固定的IO口的。如USART1串口對(duì)應(yīng)的IO
    發(fā)表于 12-28 19:27 ?10次下載
    【<b class='flag-5'>STM32</b>學(xué)習(xí)】(6)串口<b class='flag-5'>1</b>的使用(<b class='flag-5'>USART1</b>)

    STM32F105 USART1/USART3 調(diào)試筆記

    由103系列向105系列移植目錄由103系列向105系列移植故障現(xiàn)象:USART1亂碼故障排除:時(shí)鐘和外部晶振的適配調(diào)整外部晶振配置時(shí)鐘配置故障現(xiàn)象:USART3收發(fā)均無(wú)效故障排除:端口
    發(fā)表于 12-28 19:31 ?7次下載
    <b class='flag-5'>STM32F</b>105 <b class='flag-5'>USART1</b>/<b class='flag-5'>USART</b>3 調(diào)試筆記

    STM32F745 USART1 Bootloader失敗原因分析與解決

    STM32F745/6 USART1 Bootloader 使用的 TX 和 RX 分別是 PA9 和 PA10。而 NUCLEO-F746ZG 開(kāi)發(fā)板,默認(rèn)情況下,板子上的 PA9
    發(fā)表于 12-14 18:03 ?0次下載

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

    關(guān)鍵詞:STM32F745Bootloader,USART 目錄預(yù)覽 1. 概述 2. 問(wèn)題分析 3. 問(wèn)題解決 4. 總結(jié)
    的頭像 發(fā)表于 01-08 16:50 ?1454次閱讀

    STM32U5開(kāi)發(fā)(1)----通過(guò)USART1發(fā)送數(shù)據(jù)

    通過(guò) USART1 發(fā)送一些數(shù)據(jù)。
    的頭像 發(fā)表于 07-27 11:35 ?1068次閱讀
    <b class='flag-5'>STM32</b>U5開(kāi)發(fā)(<b class='flag-5'>1</b>)----通過(guò)<b class='flag-5'>USART1</b>發(fā)送數(shù)據(jù)

    STM32CubeMx配置USART1增加打印功能

    STM32CubeMx配置USART1增加打印功能
    的頭像 發(fā)表于 08-22 10:32 ?1174次閱讀
    <b class='flag-5'>STM32</b>CubeMx配置<b class='flag-5'>USART1</b>增加打印功能