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

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

3天內不再提示

STM32F407V芯片斷電的時候FLASH被異常改寫的解決方案

h1654155971.7688 ? 來源:未知 ? 作者:李倩 ? 2018-05-09 09:13 ? 次閱讀

問題描述:

STM32客戶反饋, 當STM32F407V芯片頻繁的正常通斷電的時候,FLASH 會被非法改寫,出現各種各樣的異常(整片被擦除、中斷向量表被改寫、寫保護被清除等等)。

經過與跟客戶溝通了解到 :

?他們是延續(xù)之前的項目,進行的一些軟硬件簡單修改。之前的項目沒有出現過類似的問題。

?確認通斷電的時間是足夠,即斷電后所有的VDD都回到0;上電的時序也正常。

?原理圖參考了ST相關開發(fā)板的參考設計。

?測量工作時的電壓,除了發(fā)覺上電時會有一些抖動外,其它一切正常。嘗試讓他們改善上電電路,去掉這一抖動,再次實驗,仍然出現類似的問題。

到這里似乎跟硬件沒關聯了, 接著對客戶代碼進行刪減又做了如下實驗:

1,去掉APP 部分代碼,僅僅留下IAP代碼。做相同的實驗,問題再現。

2,進一步刪減程序,去掉程序中所有跟flash以及OPTION BYTE 相關的部分,做相同的

實驗,問題依舊。

3,沒招,再刪,最后僅僅留下下面程序:

客戶反應只要調用了delay_init函數就會出問題,不調用就不會出問題(僅僅做了一天的實驗)。到這里似乎跟軟件有關系了,我們進一步分析發(fā)現他們改寫了我們的systick的config函數,那么我就做下一個實驗。

1,改為標準庫中的systick例程,去掉寫保護,加一個GPIO定時翻轉程序。同時在燒錄之后,加上寫保護,做相同的實驗,問題再現。

2,改為標準庫中的systick例程,去掉寫保護,加一個GPIO定時翻轉。同時在燒錄之后,加上寫保護,做相同的實驗,問題還是再現。

3,到這里我們有點懷疑是芯片真的有損傷了。我們又用cubemx生成了一個GPIO翻轉和systick的延時,做相同的實驗,問題照舊。

4,到此,我們一方面請芯片設計人員做進一步確認,看看芯片是否真的壞了。同時,我們抱著懷疑一切的態(tài)度,請客戶的硬件工程師再次確認他們的硬件和原理圖的一致性,我們懷疑他們的硬件是否有裝錯的元器件。主要集中在MCU周邊。最后他們的工程師反饋,STM32的PDR_ON腳,板子上裝的元器件跟原理圖不一致。他們把R47和R48都裝了,那么相當于在PDR_ON上是一個0.6v的電壓,也就是關斷了MCU內部復位。

真是山窮水盡疑無路,柳暗花明又一村,看來問題應該跟內部復位有關。

查看STM32F407數據手冊,可以看到相關信息

從上面規(guī)格書來看,STM32F407V的內部復位電路可以選擇性開啟或關閉,如果選擇關閉mcu內部的復位電路,需要在外部接一個復位監(jiān)測電路保證VDD達到正常工作電壓之前一直使MCU處于復位狀態(tài)。而這里,客戶本意并不想關閉內部復位,外部也沒有相應的電源監(jiān)測復位電路。既然這樣,根據手冊描述,PDR_ON腳接到VDD即可。具體到這里,去掉R48這個1k歐姆的電阻。重做實驗驗證,異常消失。

結論

其實之前也碰到過另外西安客戶發(fā)生過頻繁上電不工作的情況。因他們是使用了舊的數據手冊,沒有把PDR_ON腳拉到VDD 所致。

對于ST MCU來說,這個PDR_ON引腳有的封裝是被引出來了,有的封裝沒有引出,如果沒有引出的是默認使能內部復位功能,如果引出的話,大家也要當心有的型號是拉低使能內部復位;有的是拉高使能內部復位,設計和使用時注意這點。

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

    關注

    10

    文章

    1640

    瀏覽量

    148289
  • STM32
    +關注

    關注

    2270

    文章

    10915

    瀏覽量

    356733
  • 復位電路
    +關注

    關注

    13

    文章

    322

    瀏覽量

    44628

原文標題:FLASH被異常改寫的問題分享

文章出處:【微信號:weixin21ic,微信公眾號:21ic電子網】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    STM32F405xx和STM32F407xx微控制器數據手冊

    電子發(fā)燒友網站提供《STM32F405xx和STM32F407xx微控制器數據手冊.pdf》資料免費下載
    發(fā)表于 01-03 14:49 ?1次下載

    STM32 F407無傳感器控制PLL

    電子發(fā)燒友網站提供《STM32 F407無傳感器控制PLL.zip》資料免費下載
    發(fā)表于 12-19 14:10 ?0次下載

    STM32F407 MCU使用SD NAND?不斷電初始化失效解決方案

    STM32F407微控制器單元(MCU)與SD NAND的結合提供了強大的存儲解決方案。然而,不斷電初始化失效問題可能會導致系統(tǒng)穩(wěn)定性和數據完整性受損。我們將STM32F407與SD
    的頭像 發(fā)表于 12-11 10:51 ?396次閱讀
    <b class='flag-5'>STM32F407</b> MCU使用SD NAND?不<b class='flag-5'>斷電</b>初始化失效<b class='flag-5'>解決方案</b>

    基于國產芯片的IPMI解決方案

    基于國產芯片的IPMI解決方案有了重要升級!! 2024年,北京啟揚日升科技有限公司對IPMI解決方案做了兩個方面的重大升級,一是擴展了國產芯片的種類,二是擴展了在惡劣通信環(huán)境下的通信
    的頭像 發(fā)表于 11-11 18:29 ?357次閱讀
    基于國產<b class='flag-5'>芯片</b>的IPMI<b class='flag-5'>解決方案</b>

    STM32F4上電不啟動,固件損壞,程序丟失的原因?

    STM32F407ZET6 PDR_ON 143引腳0R電阻接地。 上下電程序出現無法運行的現象,出現異常后讀回MCU FLASH數據比對,FLASH一段空間范圍內的數據
    發(fā)表于 07-23 06:26

    stm32f401與stm32f407在工程配置與代碼上有什么區(qū)別?

    如題。之前調試好的一個項目,用的stm32f407IGT6, 后來同事重新畫板,改用的stm32f401cdu6, 我們本來覺得都是F4系列,也只是flash sram 引腳 時鐘不同
    發(fā)表于 05-09 06:01

    stm32f407 spinand flash模擬u盤總是提示格式化的原因?

    stm32f407spinand flash 模擬u盤總是 提示格式化?那位大神知道,求指導
    發(fā)表于 04-17 06:38

    stm32f407連接ps2遙控手柄接收信號異常怎么解決?

    平臺是stm32f407zgt6,試圖把淘寶賣得很好的ps2無線遙控手柄接上去。spi2的pb12 13 14 15用作microusb了,只能改用具有spi1功能的pa4 5 6 7。根據網上
    發(fā)表于 04-11 08:18

    STM32f407 FLASH_EraseSector 0-4 sector卡死的原因?怎么解決?

    STM32f407 FLASH_EraseSector 0-4 sector卡死問題
    發(fā)表于 04-03 06:28

    STM32F407IGT6頻繁通斷電出現CPU不啟動的現象怎么解決?

    單片機開始運行正常,在頻繁通斷電后不啟動,讀取flash代碼,發(fā)現部分區(qū)域改寫,即使加上寫保護也沒用。
    發(fā)表于 04-02 07:50

    KT404C語音芯片外掛flash用一段時間之后數據改寫的問題查找

    了亂碼 3、將flash的bin文件讀出來,發(fā)現flash莫名其妙的改寫了 4、重新將音頻文件拷貝至flash里面,之后就完全正常了
    的頭像 發(fā)表于 03-27 13:46 ?444次閱讀
    KT404C語音<b class='flag-5'>芯片</b>外掛<b class='flag-5'>flash</b>用一段時間之后數據<b class='flag-5'>被</b><b class='flag-5'>改寫</b>的問題查找

    STM32上下電內部flash改寫的原因?

    基于STM32F405系列一個64pin MCU,在使用過程中,整機掉電更換另一個部件,再上電后發(fā)現這個產品不工作了。發(fā)回廠家發(fā)現STM32內部flash數據
    發(fā)表于 03-25 08:24

    在使用STM32F407ZGT6芯片做小車主控時,總是在運行時芯片突然鎖,無法下載程序怎么解決?

    在使用STM32F407ZGT6芯片做小車主控時,總是在運行時芯片突然鎖,無法下載程序。 使用STM32 ST-LINK Utility也
    發(fā)表于 03-14 07:02

    stm32F407 ADC+DMA 10路采集,2路數據異常怎么排查?

    stm32F407ADC+DMA 10路采集2路數據異常(通道9/10)使用的是0/1/2/38/9/10/11/12/13 通道9與通道10 雖然有數據但不變化好像與外邊是斷開的配置都是相同的其余各通道采集正常
    發(fā)表于 03-13 07:38

    STM32F407ZGT6 spi flash片選引腳無法拉低的原因?怎么解決?

    我用的芯片STM32F407ZGT6,RTThread版本5.0.2,spi flash掛載在spi1總線,設備號是spi10 int w25qxx_init(void) { struct
    發(fā)表于 02-20 07:13