STM32燒寫失敗之Contents mismatch at: 0800005CH (Flash=FFH Required=29H) !

一)問題:用ULINK2給STM32F103C8T6下載程序,下載方式設置如下:
在這里插入圖片描述

出現下面兩個問題:
1)下載問題界面如下:
在這里插入圖片描述
這個錯誤的信息大概可以理解為,在0x08000063地址上讀取到flash存儲為FF,但實際上應該寫入08H,即校驗時讀取到數據與實際寫入的不符。
2)在DEBUG調試的時候,出現如下問題:
調試的時候,無法跳轉到main()函數,無法進行調試。
在這里插入圖片描述
二)嘗試了解決方案如下:
1)檢查電源電壓和復位電路(復位引腳3.3V經過10K電阻上拉)、VCC和復位NRST的電壓為3.1V.芯片供電無誤。
2)打開STM32 ST-LINK Utility軟件,使用ST_link連接電腦和板子,打開Target-connect,連接時,會報flash sectors read protect的警告,對芯片的flash進行全擦除。(問題如故)
3)升級軟件包Keil.STM32F1xx_DFP.2.4.1為最新。(問題如故)
4)嘗試更換下載算法,d:\Keil_v5\Packs\Keil\STM32F1xx_DFP\2.4.1\Flash\STM32F10x_128.FLM(問題如故)。
5)編譯器優化,之前開的是Level0,基本沒優化,之后我更改為level1,代碼有所縮減,但是沒有解決問題(問題如故)。
6)下載程序時,取消校驗,這個就純屬掩耳盜鈴。
7)減小下載速度,問題如故。
三)解決辦法:
將Debug菜單 - Reset菜單選項(HWreset/sysresetReq/Vectreset)由“sysresetReq”改為“HWreset”,下載正常,調試也正常。更改界面如下:
在這里插入圖片描述
可以正常Debug,如圖:
在這里插入圖片描述

在這里插入圖片描述
四)原因分析:
一些概念如下:
1、Reset — HW RESET
英文含義:performs a hardware reset by asserting the hardware reset (HW RESET) signal.
中文含義:復位-硬件復位通過置位硬件復位(HW RESET)信號來執行硬件復位。
2、Reset — SYSRESETREQ
英文含義:performs a software reset by setting the SYSRESETREQ bit. The Cortex-M core and on-chip peripherals are reset.
中文含義:通過將SYSRESETREQ位置1來執行軟件復位。 Cortex-M內核和片上外設被重置。
3、Reset — VECTRESET
英文含義:performs a software reset by setting the VECTRESET bit. Only the Cortex-M core is reset. The on-chip peripherals are not affected. For some Cortex-M devices, VECTRESET is the only way to reset the core. VECTRESET is not supported on Cortex-M0 and Cortex-M1 cores.
中文含義:復位-VECTRESET通過將VECTRESET位置1來執行軟件復位。 僅Cortex-M內核被重置。 片上外設不受影響。 對于某些Cortex-M設備,VECTRESET是重置內核的唯一方法。 Cortex-M0和Cortex-M1內核不支持VECTRESET。
4、Reset — Autodetect
英文含義:selects one of the above reset methods based on the target device. The SYSRESETREQ method is used if an unknown device is detected.
中文含義:重置-自動檢測根據目標設備選擇上述重置方法之一。 如果檢測到未知設備,則使用SYSRESETREQ方法。

連接類型選項:
Normal:默認的連接策略,連接后只是將 PC 停在當前執行的指令處
with Pre–reset:在連接前,先執行一次 HW RESET
under Reset:在連接過程中一直保持 HW RESET 有效(該選項適用于用戶程序誤將 JTAG/SWD 禁掉的情況)
without Stop:連接后任 CPU 自由執行(適用于觀測存儲器或者外設 SFR 情況)

復位類型選項:
HW RESET:通過翻轉ULink2的nSRST/nRESET引腳(一般也會接到MCU reset腳)來復位MCU
SYSRESETREQ:借助Cortex-M內核模塊SCB中的AIRCR寄存器的SYSRESETREQ位來同時復位MCU外設模塊
VECTRESET:借助Cortex-M內核模塊SCB中的AIRCR寄存器的VECTRESET位功能來復位Core

由于我的MCU的NRST連接到了ULink2的nSRST/nRESET引腳和PCB板上另一個芯片的復位管腳,可能的原因是:SYSRESETREQ復位方式由于另一個芯片的影響,無法進行MCU的正常復位,然而,HW RESET方式下,ULINK2可以通過硬件反轉NRST復位引腳,成功復位MCU。

分析:
復位的時序會影響程序的下載和調試(能否停在程序入口函數,能否進行單步),具體的影響邏輯沒有理清楚。
五)經驗教訓
MCU的復位管腳一定要謹慎使用,當需要和其他芯片連接時,要清楚上下拉強度,清楚驅動電流大小。否則復位失效。

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

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

相關文章

Dynamic-Datasource 文檔

dynamic-datasource-spring-boot-starter是一個基于springboot的快速集成多數據源的啟動器。 特性 支持數據源分組,適用于多種場景,純粹多庫、讀寫分離、一主多從、混合模式。支持數據庫敏感配置信息加密(可自定義)ENC()。支持每個數據庫獨立初始化表結…

P10424 [藍橋杯 2024 省 B] 好數

題目描述 一個整數如果按從低位到高位的順序,奇數位(個位、百位、萬位……)上的數字是奇數,偶數位(十位、千位、十萬位……)上的數字是偶數,我們就稱之為“好數”。 給定一個正整數 N&#xf…

Spring Boot教程之五十二:CrudRepository 和 JpaRepository 之間的區別

Spring Boot – CrudRepository 和 JpaRepository 之間的區別 Spring Boot建立在 Spring 之上,包含 Spring 的所有功能。由于其快速的生產就緒環境,使開發人員能夠直接專注于邏輯,而不必費力配置和設置,因此如今它正成為開發人員…

LLM的MoE由什么構成:門控網絡,專家網絡

LLM的MoE由什么構成:門控網絡,專家網絡 目錄 LLM的MoE由什么構成:門控網絡,專家網絡專家網絡門控網絡MoE在聯邦學習中的使用及原理專家網絡 定義與特點:是一組獨立的模型,每個模型都負責處理某個特定的子任務或學習輸入空間的特定部分。這些專家可以是簡單的線性回歸模型…

DeepSeek-V3與GPT-4o的對比詳解

DeepSeek-V3,作為一款引人注目的開源大型語言模型,自其誕生以來,便以卓越的性能和高效的性價比,在AI界掀起了一股新的浪潮。本文將詳細介紹DeepSeek-V3的誕生背景、技術優勢,以及與頂尖閉源模型GPT-4o的對比&#xff0…

Mysql 性能優化:覆蓋索引

概述 覆蓋索引(Covering Index)是一個 MySQL 查詢優化技術,它指的是一個索引包含了查詢所需的所有字段的數據,因此不需要回表(訪問數據表的行)就可以完成查詢。使用覆蓋索引可以顯著提高查詢性能&#xff…

python注意事項:range遍歷越索引現象、列表邊遍歷邊修改出現的問題

文章目錄 前言一、range遍歷越索引現象QS1:遍歷range(2,2)會發生什么?不會報錯,但是也不會遍歷到任何內容QS1:遍歷range(3,2)會發生什么?不會報錯,但是也不會遍歷到任何內容 二、列表邊遍歷邊修改注意事項(Java的List系…

【SQL】Delete使用

目錄 語法 需求 示例 分析 代碼 語法 DELETE刪除表中所需內容 刪除表中滿足特點條件的行:DELETE FROM 表名 WHERE 條件; 刪除表中所有行:DELETE FROM 表名; WHERE子句 WHERE子句用于指定從表中選取記錄的條件。允許篩選數據,只返回滿足…

【express-generator】05-路由中間件和錯誤處理(第一階段收尾)

一、前言 上篇文章我們介紹了express-generator的請求體解析,重點講了常用的請求體數據格式(JSON/URL 編碼的表單數據)以及一個FILE文件上傳,同時搭配代碼示范進行輔助理解。 二、本篇重點 我們繼續第一階段的知識,…

Vue3(elementPlus) el-table替換/隱藏行箭頭,點擊整行展開

element文檔鏈接: https://element-plus.org/zh-CN/component/form.html 一、el-table表格行展開關閉箭頭替換成加減號 注:Vue3在樣式中修改箭頭圖標無效,可能我設置不對,歡迎各位來交流指導 轉變思路:隱藏箭頭&…

【Javascript Day1】javascript基礎

javascript編程規則 彈窗&#xff08;舉例&#xff09; alert("內容")&#xff0c;直接寫在控制區生效 三種寫法 1、行內js語法 &#xff1a;需要注意引號的問題 <input type"button" value"提示窗" οnclick alert("消息") &…

GitLab創建用戶,設置訪問SSH Key

繼上一篇 Linux Red Hat 7.9 Server安裝GitLab-CSDN博客 安裝好gitlab&#xff0c;啟用管理員root賬號后&#xff0c;開始創建用戶賬戶 1、創建用戶賬戶 進入管理后臺頁面 點擊 New User 輸入用戶名、郵箱等必填信息和登錄密碼 密碼最小的8位&#xff0c;不然會不通過 拉到…

QT鼠標、鍵盤事件

一、鼠標 鼠標點擊 mousePressEvent 鼠標釋放 mouseReleaseEvent 鼠標移動 mouseMoveEvent 鼠標雙擊 mouseDoubleClickEvent 鼠標滾輪 QWheelEvent 二、鍵盤 鍵盤按下 keyPressEvent 鍵盤松開keyReleaseEvent 一、鼠標 #include <QMouseEvent> 鼠標點擊 mouse…

數據庫環境安裝(day1)

網址&#xff1a;MySQL 下載&#xff08;環境準備&#xff09;&#xff1a; &#xff08;2-5點擊此處&#xff0c;然后選擇合適的版本&#xff09; 1.linux在線YUM倉庫 下載/安裝: wget https://repo.mysql.com//mysql84-community-release-el9-1.noarch.rpm rpm -i https://r…

Qt 5.14.2 學習記錄 —— ? QWidget 常用控件(2)

文章目錄 1、Window Frame2、windowTitle3、windowIcon4、qrc機制5、windowOpacity 1、Window Frame 在運行Qt程序后&#xff0c;除了用戶做的界面&#xff0c;最上面還有一個框&#xff0c;這就是window frame框。對于界面的元素&#xff0c;它們的原點是Qt界面的左上角或win…

以太網協議在汽車應用中的動與靜

為了讓網絡中的設備能夠隨時或隨地接入網絡或離開網絡&#xff0c;做到&#xff1a;接入時無需多余的配置就能和其他設備互相通信&#xff1b;離開時又不會導致設備或網絡崩潰。以太網從物理層到協議層展現出多方面的靈活性&#xff0c;&#xff0c;使其成為連接各種設備和系統…

牛客網刷題 ——C語言初階(6指針)——BC105 矩陣相等判定

1. 題目描述&#xff1a;BC105 矩陣相等判定 牛客網OJ題鏈接 描述&#xff1a; KiKi得到了兩個n行m列的矩陣&#xff0c;他想知道兩個矩陣是否相等&#xff0c;請你回答他。(當兩個矩陣對應數組元素都相等時兩個矩陣相等)。 示例1 輸入&#xff1a; 2 2 1 2 3 4 1 2 3 4 輸出…

外觀設計模式學習

1.介紹 外觀模式&#xff08;Facade Pattern&#xff09; 是一種結構型設計模式&#xff0c;通過提供一個統一的接口&#xff0c;用于訪問子系統中的一組接口&#xff0c;從而簡化客戶端與復雜系統之間的交互。它隱藏了系統的復雜性&#xff0c;使得客戶端只需與一個簡單的接口…

基于單片機的數字氣壓計設計

摘要:在嵌入式技術快速發展過程中&#xff0c;智能測量儀器被廣泛應用于工業生產以及人們日常生活領域。數字氣壓計在實際應用中&#xff0c;利用氣壓傳感器檢測環境中的壓力大小&#xff0c;便于實現對設備進行智能化的控制操作。數字氣壓計在氣象監測、礦產開采、科學實驗等環…

嵌入式軟件C語言面試常見問題及答案解析(三)

嵌入式軟件C語言面試常見問題及答案解析(三) 上一篇已經足夠長了,再長也就有點不禮貌了,所以在這兒繼續來總結分享那個面試中遇到的題目,文中的問題和提供的答案或者代碼均代表個人的理解,如有不合理或者錯誤的地方,歡迎大家批評指正。 本文中題目列表 1. 編碼實現子串定…