• <td id="suusu"><kbd id="suusu"></kbd></td>
  • <option id="suusu"><noscript id="suusu"></noscript></option>
    聯系我們
    發送郵箱
    主頁 ? 技術支持 ? 案例展示 ? STM32F407IGT6使用外部SRAM導致死機該如何解決

    技術支持

    STM32F407IGT6使用外部SRAM導致死機該如何解決

    2019-08-13 16:34:10

    該問題由某客戶提出,發生在 STM32F407IGT6 器件上。據其工程師講述:為了滿足軟件對大容量內存的需求,將軟件中的部分變量從內部 SRAM 轉移到片外的 SRAM當中。而這一改變,導致該軟件不能運行,每次復位后,隨即發生死機。在此之前,對 FSMC 的初化代碼,以及片外SRAM 的讀寫均做過測試,并確認是沒有問題的。其內存分配如下表(一)所示。
    sram內存分配表
    調研:
     
    使用 Keil MDK 創建工程,測試其所用的FSMC 初始化代碼,結果表明該段代碼正確無誤。修改內存分配,刪除其中對外部 SRAM 的分配,如下表(三)所示。重新對其軟件編譯運行。結果表明,在這種內存分配方式下,其軟件可以正常運行。修改其軟件代碼,在初始化FSMC 之后加入對外部 SRAM 的讀寫測試,重新編譯運行。測試結果表明,此時對外部SRAM 的讀寫也是正確的。查找其軟件對 FSMC 初始化函數調用的位置,發現該函數是在該軟件的main()函數中調用的。修改代碼,將該函數的調用位置移至 SystemInit()中,并且恢復原來的內存分配,如上表(一)。重新編譯并運行,此時該軟件正確運行。
    sram內存分配表2

    結論:
     
    軟件中對 FSMC 做初始化的位置不對,導致程序在訪問外部SRAM時 FSMC 還未被初始化,從而造成總線訪問出錯,從而產生 HardFault 中斷,最終程序停留在 HardFault中斷服務程序中,使得程序對外表現出“死機”的現象。
     
    處理:
     
    一般來說, main()函數是 C 語言的入口,C 語言代碼從這里開始執行。然而,具體結合到STM32的應用工程,這并不是工程運行的起點。往往在main()函數執行之前,還有一段啟動初始化代碼,為硬件做最基本的時鐘和中斷矢量配置等;為 C 語言代碼的執行創建一個運行環境。這里主要涉及兩個函數,即SystemInit()和__main()。其中__main()是編譯系統提供的一個函數,負責完成C庫函數和應用程序執行環境的初始化,之后跳轉到用戶main()。在__main()做 C 環境初始化的時候,會訪問相關的存貯器。如果此時,相應的存貯器不可用,就會出現錯誤。在STM32啟動的文件里,SystemInit()函數先于__main()的執行。所以,如果在SystemInit()函數里先對 FSMC 的做好初始化就可以避免后面__main()運行時訪問相關內存出現異常的問題。
     
    修改代碼,將對 FMSC 初始化函數的調用放在SystemInit()函數中,以保證在 C 環境初始化之前完成對FMSC 的初始化。

    本文關鍵詞:SRAM


    相關文章:VTI508NL16低功耗SRAM芯片


    深圳市英尚微電子有限公司是一家專業的靜態隨機記憶體產品及方案提供商,十年來專業致力代理分銷存儲芯片IC, SRAM、MRAM、pSRAM、 FLASH芯片、SDRAM(DDR1/DDR2/DDR3)等,為客人提供性價比更高的產品及方案。
    英尚微電子中國區指定的授權代理:VTI、NETSOL、JSC濟州半導體(EMLSI)、Everspin 、IPSILOG、LYONTEK、ISSI、CYPRESS、ISOCOME、PARAGON、SINOCHIP、UNIIC; 著名半導體品牌的專業分銷商  如:RAMTROM、ETRON、FUJITSU、LYONTEK、WILLSEMI。
     

    ?更多資訊關注SRAMSUN.   m.my-herzblut.com         0755-66658299
    展開
    亚洲 欧美 自拍 另类 日韩
  • <td id="suusu"><kbd id="suusu"></kbd></td>
  • <option id="suusu"><noscript id="suusu"></noscript></option>
    91视频网站|ljh744 国产精品一级毛片无码老年人|7jj230 国产农村露脸无码精品视频|hj7469 性高湖久久久久久久久|hl8234 亚洲综合在线|llh493 久久精品无码一区二区三区免费|l8h569 欧美午夜福利|jlj54 免费无码一区二区三区A片|8jj451 色欲亚洲一区二区三区AV无码|hl8944 久久久久久精品国产欧美|jjl548 精品一区二区三区无码视频免费送|j8h856 久久久久久精品一级毛片|hhj304 无码人妻AⅤ一区二区三区|8hj887 精品人妻无码一区二区三区αv|jj7306 国产无码精品|jll466 免费无码专区毛片高潮喷水色欲|j7l83 日韩久久无码免费毛片软件|h7h939 免费无码黄十八禁网站在线观看|llh149 夜夜夜无码一区二区三区|7jj442 免费看少妇高潮A片特黄|hl7334 久久黄色视频|hll747 久久久人妻精品一区二区三区99|l7l189 沙特一级婬片A片AAA毛片|hhl714 欧美性爱一区|j8h964 国产无码网站|ljl800 久久精品国产精品亚洲毛片|6ll978 亚洲天堂在线观看视频|ll6949 久久无码av中文出轨人妻|hjl537 无码人妻天天爽夜夜爽精品|l6l91 国产精品久久久久久无码|j6h483 久久精品国产精品亚洲毛片|jjj506 国产农村露脸无码精品视频|6jl871 国产无码视频|jl7614 色视频在线观看|hlh533 无码少妇一区二区三区av|l7l381 欧美日韩黄片|hlj322 中文字幕Aⅴ人妻一区二区|7jh368 天天爽夜夜爽夜夜爽精品视频|jh5386 亚洲午夜精品一级毛片无码|hhl636 国产一区二区三区无码A片|l5l117 国产A级毛片|lll312 西西人体44www大胆无码|6jj827 亚洲精品无码|6lh845 天天爽夜夜爽人人爽一区二区|lh6525 欧美日韩国产|jlj965 免费无码一级A片大黄在线观看|l6j46 久久久久人妻一区精品色|hlh27 亚洲一级无码A片在线观看|6hl994