• 資料介紹
    • 問題現(xiàn)象與分析
    • 小結(jié)
    • 后記
  • 資料預(yù)覽
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

LAT1210 一個(gè)Flash編程錯(cuò)誤標(biāo)志的探析

03/26 10:24
805
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

LAT1210 一個(gè)Flash編程錯(cuò)誤標(biāo)志的探析

939.14 KB

問題現(xiàn)象與分析

客戶項(xiàng)目中使用的 MCU 型號(hào)是 STM32G0B1, 他們反饋在代碼中嘗試擦除并編程 FLASH時(shí), 發(fā)現(xiàn) FLASH 的狀態(tài)寄存器顯示編程錯(cuò)誤(如圖 1 所示). 問題是當(dāng)前代碼還沒有開始擦除和編程, 怎么就有了編程錯(cuò)誤標(biāo)志了呢 ? 如果不將此錯(cuò)誤標(biāo)志清除, 后續(xù)的編程操作無法繼續(xù).客戶對(duì)于每次想要操作 FLASH 之前這個(gè)清除動(dòng)作既感覺多余也感覺別扭, 且還不得不做, 且做了也不知對(duì)整個(gè)產(chǎn)品的穩(wěn)定性會(huì)有什么樣的影響 ?

小結(jié)

至此,將問題稍作小結(jié)。給變量 flag_it 實(shí)際賦值棧頂?shù)刂? 不同的編譯器環(huán)境下, 此棧頂?shù)刂返牟灰恢聦?dǎo)致變量 flag_it 的值不一致, 進(jìn)而導(dǎo)致 if 語句的判斷結(jié)果不同, 最終導(dǎo)致 IAR 和 KEIL 這兩個(gè)編譯器環(huán)境下運(yùn)行相同代碼而結(jié)果不一樣的情形。

后記

有時(shí)會(huì)聽到某某客戶反饋說, 在網(wǎng)絡(luò)上看到 STM32 某款 MCU 存在某某問題, 然后問是不是 ST 故意隱瞞 ?不存在故意隱瞞的說法,芯片終究是要經(jīng)過終端驗(yàn)證的。

正常來講, 任何芯片存在應(yīng)用局限是正常的。對(duì)于 ST,一方面會(huì)正式地將所有已知 bug或應(yīng)用局限放入到勘誤手冊(cè)中公示, 大家需要注意使用最新版勘誤手冊(cè);另一方面,對(duì)于 ST 量產(chǎn)芯片,因本身缺陷導(dǎo)致的問題的概率非常低。事實(shí)上,絕大多數(shù)問題都來自我們自身的應(yīng)用,遇到問題若簡(jiǎn)單的基于芯片品質(zhì)來回猜疑非常不利于開發(fā)者靜下心來查找問題原因。 其實(shí),面對(duì)問題時(shí),我們很多人欠缺的并不是多么高深的水平,而是一顆冷靜、自信并富有條理的心。

資料預(yù)覽

相關(guān)推薦