一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

STM32F407V芯片斷電的時(shí)候FLASH被異常改寫(xiě)的解決方案

h1654155971.7688 ? 來(lái)源:未知 ? 作者:李倩 ? 2018-05-09 09:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

問(wèn)題描述:

STM32客戶反饋, 當(dāng)STM32F407V芯片頻繁的正常通斷電的時(shí)候,F(xiàn)LASH 會(huì)被非法改寫(xiě),出現(xiàn)各種各樣的異常(整片被擦除、中斷向量表被改寫(xiě)、寫(xiě)保護(hù)被清除等等)。

經(jīng)過(guò)與跟客戶溝通了解到 :

?他們是延續(xù)之前的項(xiàng)目,進(jìn)行的一些軟硬件簡(jiǎn)單修改。之前的項(xiàng)目沒(méi)有出現(xiàn)過(guò)類似的問(wèn)題。

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

?原理圖參考了ST相關(guān)開(kāi)發(fā)板的參考設(shè)計(jì)。

?測(cè)量工作時(shí)的電壓,除了發(fā)覺(jué)上電時(shí)會(huì)有一些抖動(dòng)外,其它一切正常。嘗試讓他們改善上電電路,去掉這一抖動(dòng),再次實(shí)驗(yàn),仍然出現(xiàn)類似的問(wèn)題。

到這里似乎跟硬件沒(méi)關(guān)聯(lián)了, 接著對(duì)客戶代碼進(jìn)行刪減又做了如下實(shí)驗(yàn):

1,去掉APP 部分代碼,僅僅留下IAP代碼。做相同的實(shí)驗(yàn),問(wèn)題再現(xiàn)。

2,進(jìn)一步刪減程序,去掉程序中所有跟flash以及OPTION BYTE 相關(guān)的部分,做相同的

實(shí)驗(yàn),問(wèn)題依舊。

3,沒(méi)招,再刪,最后僅僅留下下面程序:

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

1,改為標(biāo)準(zhǔn)庫(kù)中的systick例程,去掉寫(xiě)保護(hù),加一個(gè)GPIO定時(shí)翻轉(zhuǎn)程序。同時(shí)在燒錄之后,加上寫(xiě)保護(hù),做相同的實(shí)驗(yàn),問(wèn)題再現(xiàn)。

2,改為標(biāo)準(zhǔn)庫(kù)中的systick例程,去掉寫(xiě)保護(hù),加一個(gè)GPIO定時(shí)翻轉(zhuǎn)。同時(shí)在燒錄之后,加上寫(xiě)保護(hù),做相同的實(shí)驗(yàn),問(wèn)題還是再現(xiàn)。

3,到這里我們有點(diǎn)懷疑是芯片真的有損傷了。我們又用cubemx生成了一個(gè)GPIO翻轉(zhuǎn)和systick的延時(shí),做相同的實(shí)驗(yàn),問(wèn)題照舊。

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

真是山窮水盡疑無(wú)路,柳暗花明又一村,看來(lái)問(wèn)題應(yīng)該跟內(nèi)部復(fù)位有關(guān)。

查看STM32F407數(shù)據(jù)手冊(cè),可以看到相關(guān)信息。

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

結(jié)論

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

對(duì)于ST MCU來(lái)說(shuō),這個(gè)PDR_ON引腳有的封裝是被引出來(lái)了,有的封裝沒(méi)有引出,如果沒(méi)有引出的是默認(rèn)使能內(nèi)部復(fù)位功能,如果引出的話,大家也要當(dāng)心有的型號(hào)是拉低使能內(nèi)部復(fù)位;有的是拉高使能內(nèi)部復(fù)位,設(shè)計(jì)和使用時(shí)注意這點(diǎn)。

聲明:本文內(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)投訴
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1677

    瀏覽量

    151613
  • STM32
    +關(guān)注

    關(guān)注

    2293

    文章

    11031

    瀏覽量

    364298
  • 復(fù)位電路
    +關(guān)注

    關(guān)注

    13

    文章

    326

    瀏覽量

    45234

原文標(biāo)題:FLASH被異常改寫(xiě)的問(wèn)題分享

文章出處:【微信號(hào):weixin21ic,微信公眾號(hào):21ic電子網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    STM32F40xxx和STM32f41xx flash編程手冊(cè)

    PM0081_STM32F40xxx and STM32F41xxx單片機(jī)編程手冊(cè)
    發(fā)表于 06-06 17:02 ?3次下載

    使用STM32F407ZGT6芯片做小車(chē)主控時(shí),總是在運(yùn)行時(shí)芯片突然鎖,無(wú)法下載程序怎么解決?

    在使用STM32F407ZGT6芯片做小車(chē)主控時(shí),總是在運(yùn)行時(shí)芯片突然鎖,無(wú)法下載程序。 使用STM32 ST-LINK Utility也
    發(fā)表于 03-11 06:20

    STM32F407 Flash寫(xiě)入數(shù)據(jù)失敗的原因?怎么解決?

    STM32F407VGT6 標(biāo)準(zhǔn)庫(kù) 往Flash中寫(xiě)入數(shù)據(jù),寫(xiě)入完成后再次讀取,發(fā)現(xiàn)沒(méi)有寫(xiě)入成功。printf 打印擦除和寫(xiě)入的步驟發(fā)現(xiàn),返回的 FLASH_Status 都是 7。關(guān)于錯(cuò)誤碼
    發(fā)表于 03-11 06:08

    stm32F407平臺(tái)上使用freertos,使用pvPortMalloc申請(qǐng)內(nèi)存,發(fā)現(xiàn)內(nèi)存中的數(shù)據(jù)總修改,怎么解決?

    如題,我現(xiàn)在在stm32F407平臺(tái)上打開(kāi)FREERTOS,然后使用pvPortMalloc動(dòng)態(tài)申請(qǐng)內(nèi)存的時(shí)候,發(fā)現(xiàn)這塊內(nèi)存中的數(shù)據(jù)總是變化,后面改為malloc申請(qǐng),內(nèi)存中的數(shù)據(jù)就符合預(yù)期了,我已經(jīng)按照網(wǎng)上的流程配置了freertos,不知道是什么原因?qū)е逻@種現(xiàn)象?
    發(fā)表于 03-07 09:03

    stm32f407這個(gè)STM32_RCC_PERIPHCLK_SDMMC是哪里定義的?

    stm32f407這個(gè)STM32_RCC_PERIPHCLK_SDMMC 是哪里定義的 函數(shù)調(diào)用這個(gè)會(huì)報(bào)錯(cuò) Error[Pe020]: identifier \"
    發(fā)表于 03-07 07:34

    STM32F407輸出的2片ADC的轉(zhuǎn)換值與輸入ADC的電壓值相同了,不知道是何原因?

    VREF電壓穩(wěn)定(2.498V斷電后重新上電,STM32F407 輸出的2片ADC的轉(zhuǎn)換值與輸入ADC的電壓值就相同了,不知道是何原因?請(qǐng)?zhí)峁﹨⒖冀ㄗh
    發(fā)表于 01-22 08:15

    STM32F405xx和STM32F407xx微控制器數(shù)據(jù)手冊(cè)

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

    ADS7813芯片斷線輸出不是0,請(qǐng)問(wèn)如此設(shè)計(jì)的依據(jù)是什么?

    ADS7813芯片斷線輸出不是0,請(qǐng)問(wèn)如此設(shè)計(jì)的依據(jù)是什么?采用±10V輸入范圍的設(shè)計(jì)方案,如何保證斷線狀態(tài)仍然輸出0?
    發(fā)表于 12-30 06:01

    STM32 F407無(wú)傳感器控制PLL

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

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

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

    DAC121C085在IIC通訊時(shí)候會(huì)偶爾會(huì)出現(xiàn),芯片SDA腳一直下拉狀態(tài),只能斷電重啟才可以恢復(fù),為什么?

    我們?cè)贗IC通訊時(shí)候會(huì)偶爾會(huì)出現(xiàn),芯片SDA腳一直下拉狀態(tài),只能斷電重啟才可以恢復(fù),是不是芯片內(nèi)部進(jìn)入了某種保護(hù)模式?
    發(fā)表于 11-15 08:30

    mcu用的是stm32f407, 在讀ADS1298的id的時(shí)候一直讀的是錯(cuò)的,為什么?

    你好,我現(xiàn)在mcu用的是stm32f407, 在讀ADS1298的id的時(shí)候一直讀的是錯(cuò)的,但是其他寄存器都能正常讀寫(xiě)。時(shí)序也用邏輯分析儀看過(guò)了,都是符合數(shù)據(jù)手冊(cè)的要求的。CLKSEL、RESET
    發(fā)表于 11-14 08:28

    基于國(guó)產(chǎn)芯片的IPMI解決方案

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

    航順 HK32F407ZGT7 芯片的開(kāi)發(fā)板:多功能外設(shè)助力多領(lǐng)域應(yīng)用

    HK32F407ZGT7開(kāi)發(fā)板 1.開(kāi)發(fā)板簡(jiǎn)介 開(kāi)發(fā)板是基于航順芯片公司F4系列HK32F407ZGT7開(kāi)發(fā)的一款開(kāi)發(fā)板,Cortex-M4內(nèi)核,最高主頻168MHz,內(nèi)置1MB
    的頭像 發(fā)表于 11-08 14:43 ?667次閱讀
    航順 HK32<b class='flag-5'>F407</b>ZGT7 <b class='flag-5'>芯片</b>的開(kāi)發(fā)板:多功能外設(shè)助力多領(lǐng)域應(yīng)用

    STM32F4上電不啟動(dòng),固件損壞,程序丟失的原因?

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