問題描述:
某STM32客戶反饋, 當STM32F407V芯片頻繁的正常通斷電的時候,F(xiàn)LASH 會被非法改寫,出現(xiàn)各種各樣的異常(整片被擦除、中斷向量表被改寫、寫保護被清除等等)。
經(jīng)過與跟客戶溝通了解到 :
?他們是延續(xù)之前的項目,進行的一些軟硬件簡單修改。之前的項目沒有出現(xiàn)過類似的問題。
?確認通斷電的時間是足夠,即斷電后所有的VDD都回到0;上電的時序也正常。
?原理圖參考了ST相關開發(fā)板的參考設計。
?測量工作時的電壓,除了發(fā)覺上電時會有一些抖動外,其它一切正常。嘗試讓他們改善上電電路,去掉這一抖動,再次實驗,仍然出現(xiàn)類似的問題。
到這里似乎跟硬件沒關聯(lián)了, 接著對客戶代碼進行刪減又做了如下實驗:
1,去掉APP 部分代碼,僅僅留下IAP代碼。做相同的實驗,問題再現(xiàn)。
2,進一步刪減程序,去掉程序中所有跟flash以及OPTION BYTE 相關的部分,做相同的
實驗,問題依舊。
3,沒招,再刪,最后僅僅留下下面程序:

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

1,改為標準庫中的systick例程,去掉寫保護,加一個GPIO定時翻轉(zhuǎn)程序。同時在燒錄之后,加上寫保護,做相同的實驗,問題再現(xiàn)。
2,改為標準庫中的systick例程,去掉寫保護,加一個GPIO定時翻轉(zhuǎn)。同時在燒錄之后,加上寫保護,做相同的實驗,問題還是再現(xiàn)。
3,到這里我們有點懷疑是芯片真的有損傷了。我們又用cubemx生成了一個GPIO翻轉(zhuǎn)和systick的延時,做相同的實驗,問題照舊。
4,到此,我們一方面請芯片設計人員做進一步確認,看看芯片是否真的壞了。同時,我們抱著懷疑一切的態(tài)度,請客戶的硬件工程師再次確認他們的硬件和原理圖的一致性,我們懷疑他們的硬件是否有裝錯的元器件。主要集中在MCU周邊。最后他們的工程師反饋,STM32的PDR_ON腳,板子上裝的元器件跟原理圖不一致。他們把R47和R48都裝了,那么相當于在PDR_ON上是一個0.6v的電壓,也就是關斷了MCU內(nèi)部復位。

真是山窮水盡疑無路,柳暗花明又一村,看來問題應該跟內(nèi)部復位有關。
查看STM32F407數(shù)據(jù)手冊,可以看到相關信息。

從上面規(guī)格書來看,STM32F407V的內(nèi)部復位電路可以選擇性開啟或關閉,如果選擇關閉mcu內(nèi)部的復位電路,需要在外部接一個復位監(jiān)測電路保證VDD達到正常工作電壓之前一直使MCU處于復位狀態(tài)。而這里,客戶本意并不想關閉內(nèi)部復位,外部也沒有相應的電源監(jiān)測復位電路。既然這樣,根據(jù)手冊描述,PDR_ON腳接到VDD即可。具體到這里,去掉R48這個1k歐姆的電阻。重做實驗驗證,異常消失。
結(jié)論
其實之前也碰到過另外西安客戶發(fā)生過頻繁上電不工作的情況。因他們是使用了舊的數(shù)據(jù)手冊,沒有把PDR_ON腳拉到VDD 所致。
對于ST MCU來說,這個PDR_ON引腳有的封裝是被引出來了,有的封裝沒有引出,如果沒有引出的是默認使能內(nèi)部復位功能,如果引出的話,大家也要當心有的型號是拉低使能內(nèi)部復位;有的是拉高使能內(nèi)部復位,設計和使用時注意這點。
-
FlaSh
+關注
關注
10文章
1748瀏覽量
155514 -
STM32
+關注
關注
2309文章
11162瀏覽量
373428 -
復位電路
+關注
關注
13文章
332瀏覽量
45863
原文標題:FLASH被異常改寫的問題分享
文章出處:【微信號:weixin21ic,微信公眾號:21ic電子網(wǎng)】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
SPI NOR Flash和SPI NAND Flash存儲芯片的區(qū)別
無線充項目求助:PD 協(xié)議芯片握手后反復重啟斷電,求解決方案!
請問有辦法在嵌入式單片機上實現(xiàn)對片外Flash的數(shù)據(jù)增刪功能嗎?
STM32F407VGT6的完美國產(chǎn)替代——中科芯CKS32F407VGT6在智能電力網(wǎng)關的應用
微控制器 STM32F407VG(ST品牌),的pin to pin國產(chǎn)替代解決方案XHTM32F407VG
STM32F40xxx和STM32f41xx flash編程手冊
極海APM32F407IG-Tiny開發(fā)板的DAPLINK固件更新方法
ups不間斷電源—UPS(不間斷電源)噪音異常或因這些故障
STM32F407V芯片斷電的時候FLASH被異常改寫的解決方案
評論