在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

stm32案例分享之使D-CACHE時FMC外設(shè)運行不正常原因

STM32單片機 ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2017-10-30 15:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

前段時間某客戶反饋,在使用STM32H7的FMC時,如果使能了D-CACHE就運行不正常。數(shù)據(jù)沒有寫到FMC外部的存儲器里,F(xiàn)MC接口也沒有波形。而不使能D-CACHE是工作則是正常的。

其實對于這個問題,如果了解STM32H7的架構(gòu)的話,就很容易理解了。下面我們就來看一看到底是什么原因讓客戶覺得使能DCACHE后FMC就工作不正常了。

STM32H7的架構(gòu)

下面是STM32H7架構(gòu)圖中和FMC相關(guān)的部分。從圖中可以看到,STM32H7是基于Cortex-M7內(nèi)核,在內(nèi)部的Cortex-M7內(nèi)核里帶有一個16KB的D-CACHE和一個16KB的I-CACHE。內(nèi)核通過AXIM總線連接到64位的AXI總線矩陣,再經(jīng)過這個總線矩陣連接到FMC接口實現(xiàn)對外部存儲器的訪問。這里,當D-CACHE使能的時候,對FMC接口上的存儲器的操作會用到內(nèi)核的緩存(CACHE)的。

使能了CACHE的好處就是可以提高內(nèi)核訪問存儲器的速度。為什么使用緩存能提高速度呢?是因為在操作可以被緩存的存儲器的時候,內(nèi)核不是每次都去直接操作這些存儲器,而是從緩存里讀取數(shù)據(jù),或者將數(shù)據(jù)先寫到緩存里。看到這里,是不是覺得和前面客戶說的現(xiàn)象有點聯(lián)系了。

Cache的操作

簡單的說緩存工作時有兩種方式:回寫和透寫。

回寫【write back】就是數(shù)據(jù)平時只寫到緩存【cache】,必要時才同步到下一級存儲器中。

透寫【write through】就是數(shù)據(jù)每次都同時寫到緩存和下一級存儲器中。這種方式可以解決數(shù)據(jù)不一致的問題,但同時也會消耗更多的總線訪問時間。

緩存的操作方式,在啟用緩存后有一個默認的設(shè)置 。也就是下面這張表:

請參考AN4839了解更多的關(guān)于Cache的使用說明。

問題分析及解決

客戶是通過FMC的NOR存儲控制器外接一個FPGA。映射的地址范圍是0x60000000~0x7FFFFFFF。從上圖可以看到,它默認的緩存操作方式是WBWA(回寫寫分配)。也就是說,當打開DCACHE后,所有對該地址范圍的操作都會先到緩存。這也解釋了為什么客戶發(fā)現(xiàn)數(shù)據(jù)沒有真正寫到外部存儲器中。客戶的數(shù)據(jù)需要實時寫到FPGA中進行計算。所以對這個應(yīng)用場景,回寫的設(shè)置就不合適了。

對于客戶的這個應(yīng)用,可以通過MPU來進行配置,將0x60000000~0x7FFFFFFF范圍地址的CACHE設(shè)置為透寫的方式,這樣數(shù)據(jù)就會實時的寫到FPGA中去了。所以,針對這種情況,我們可以通過MPU合理配置來解決。

通過MPU,可以配置不同存儲器空間的訪問權(quán)限和Cache策略。HAL庫里面提供了對應(yīng)的函數(shù)和例程,參照例程用下面這段代碼就可以解決客戶的問題了。數(shù)據(jù)每次都是直接寫到FPGA中,而不是緩存到內(nèi)核的DCACHE中。

總結(jié)

D-CACHE的使用可以幫我們提高程序運行的性能,但也會帶來緩存和二級存儲器數(shù)據(jù)不一致和緩沖不擊中帶來的程序執(zhí)行的時間不確定的情況,需要客戶根據(jù)實際的應(yīng)用來進行選擇。對于實時性要求高的數(shù)據(jù),可以像前面一樣使用MPU配置成透寫的方式,或者將數(shù)據(jù)放到DTCM RAM中。另外,在本文中只用MPU配置了FMC映射的部分存儲區(qū)域。在實際使用中,應(yīng)該對所有用到的存儲空間(比如Flash, SRAM區(qū))的屬性根據(jù)實際情況進行合理配置,以免引起其它的問題。詳情請參考AN4838.

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

    關(guān)注

    0

    文章

    1

    瀏覽量

    1110

原文標題:使能D-CACHE時FMC外設(shè)運行不正常的案例

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    STM32H7的MPU配置與D-Cache沖突如何解決???

    D-Cache(SCB_DisableDCache())或 MPU(MPU->CTRL &= ~MPU_CTRL_ENABLE_Msk)后,系統(tǒng)運行正常。有沒有大佬們知道如何處理
    發(fā)表于 06-23 17:32

    STM32串口發(fā)送不正常原因?如何解決?

    STM32串口發(fā)送不正常原因?如何解決?
    發(fā)表于 12-09 07:50

    不正常自行放電原因

    不正常自行放電原因         極板材料或電解液有雜質(zhì),這樣雜質(zhì)與極板或不同雜質(zhì)間就會產(chǎn)生電位差,形成閉合的“局部電池”而產(chǎn)
    發(fā)表于 11-10 15:21 ?736次閱讀

    自架電子郵件系統(tǒng)收發(fā)不正常的幾種原因

    自架電子郵件系統(tǒng)收發(fā)不正常的幾種原因 1.DNS 服務(wù)器的設(shè)置不對。   2.DNS 服務(wù)器不正常工作。   3.MX 記錄不對或者沒有刷新
    發(fā)表于 01-29 11:10 ?751次閱讀

    STemWin_Library_V1.1.1 中 STM324x9IEVAL 的 RTOS 工程顯示不正常的問題

    STemWin_Library_V1.1.1中STM324x9I-EVAL的RTOS工程顯示不正常問題
    發(fā)表于 12-14 16:02 ?0次下載

    不正常關(guān)電腦會怎樣

    本視頻主要詳細介紹了不正常關(guān)電腦會怎樣,分別有硬件損壞、系統(tǒng)影響、損壞磁盤、導(dǎo)致數(shù)據(jù)丟失。
    的頭像 發(fā)表于 03-12 16:29 ?4386次閱讀

    交流接觸器吸合不正常原因有哪些

    交流接觸器吸合不正常,是指交流接觸器吸合過于緩慢,觸頭不能完全閉合,鐵芯發(fā)出異常噪聲等不正常現(xiàn)象。交流接觸器吸合不正常,可能是以下幾個原因
    的頭像 發(fā)表于 04-11 11:21 ?1.7w次閱讀

    激光切割機復(fù)位不正常帶來的危害和四大原因

    激光切割機是現(xiàn)代常用的加工設(shè)備,在加工時,總會出現(xiàn)些讓人頭疼的問題,遇到這些情況的時候,我們應(yīng)該怎么去處理呢?下面就簡單的分析下激光切割機復(fù)位不正常原因
    的頭像 發(fā)表于 09-15 16:19 ?6535次閱讀

    STM32上電復(fù)位不正常 手動復(fù)位正常原因資料下載

    電子發(fā)燒友網(wǎng)為你提供STM32上電復(fù)位不正常 手動復(fù)位正常原因資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計、用戶指南、解決方案等資料,
    發(fā)表于 04-25 08:42 ?38次下載
    <b class='flag-5'>STM32</b>上電復(fù)位<b class='flag-5'>不正常</b> 手動復(fù)位<b class='flag-5'>正常</b>的<b class='flag-5'>原因</b>資料下載

    STM32H7的FMC外設(shè)D_Cache使能的情況下運行不正常

    STM32H7的FMC外設(shè)D_Cache使能的情況下運行
    發(fā)表于 08-04 18:19 ?13次下載
    <b class='flag-5'>STM32</b>H7的<b class='flag-5'>FMC</b><b class='flag-5'>外設(shè)</b>在<b class='flag-5'>D_Cache</b><b class='flag-5'>使</b>能的情況下<b class='flag-5'>運行</b><b class='flag-5'>不正常</b>

    關(guān)于STM32串口燒錄后程序正常運行,但是掉電或復(fù)位后程序不正常運行的可能解決方法。

    關(guān)于STM32串口燒錄后程序正常運行,但是掉電或復(fù)位后程序不正常運行的可能解決方法。 BOOT0 BOOT1
    發(fā)表于 12-14 18:52 ?21次下載
    關(guān)于<b class='flag-5'>STM32</b>串口燒錄后程序<b class='flag-5'>正常</b><b class='flag-5'>運行</b>,但是掉電或復(fù)位后程序<b class='flag-5'>不正常</b><b class='flag-5'>運行</b>的可能解決方法。

    常見電機由機械故障引起的不正常聲音有哪些

    首先應(yīng)判斷是機械還是電氣的原因引起的? 方法是:接上電源,有不正常的聲音存在,切斷電源,不正常聲音仍存在,則為機械故障;否則為電氣方面故障。
    發(fā)表于 02-17 10:35 ?2721次閱讀

    自舉電路不正常工作

    電路不正常工作可能會表現(xiàn)為無法正確啟動設(shè)備,也可能會導(dǎo)致設(shè)備啟動后運行不穩(wěn)定,甚至直接崩潰。針對這種情況,我們需要仔細排查問題,找到原因并進行修復(fù)。下面就讓我們一起詳細地了解一下自舉電路不正常
    的頭像 發(fā)表于 09-17 09:44 ?1312次閱讀

    伺服電機振動不正常原因和維修及案例分析

    。本文將深入探討伺服電機振動不正常原因,并提供相應(yīng)的維修建議,以幫助技術(shù)人員快速定位和解決問題。 ? ? ? 一、伺服電機振動不正常原因 ? ? ? 1. 機械
    的頭像 發(fā)表于 12-18 09:22 ?781次閱讀
    伺服電機振動<b class='flag-5'>不正常</b><b class='flag-5'>原因</b>和維修及案例分析

    變頻器輸出波形不正常原因及解決方法

    ? ? ? 變頻器作為現(xiàn)代工業(yè)控制領(lǐng)域的核心設(shè)備之一,其穩(wěn)定性和可靠性直接關(guān)系到生產(chǎn)線的正常運行和設(shè)備的使用壽命。然而,在實際應(yīng)用中,變頻器輸出波形不正常的問題時有發(fā)生,這不僅影響了設(shè)備的性能,還可
    的頭像 發(fā)表于 02-06 15:48 ?696次閱讀
    變頻器輸出波形<b class='flag-5'>不正常</b><b class='flag-5'>原因</b>及解決方法
    主站蜘蛛池模板: 日本xxxx色视频在线观看免 | 国产成人精品亚洲日本在线观看 | 第四色播日韩第一页 | 尻美女视频 | 午夜免费啪啪 | bt天堂在线最新版www | 黄视频在线免费看 | 欧美色视频超清在线观看 | 免费能看的黄色网址 | 91欧美精品激情在线观看 | 欧洲性开放大片免费观看视频 | 国产欧美亚洲精品第二区首页 | 操片| 无遮挡很爽很污很黄的网站w | 四虎永久在线精品2022 | 手机在线黄色网址 | 九九热视频免费在线观看 | 欧美黄又粗暴一进一出抽搐 | 亚洲国产综合久久精品 | 国产情侣自拍小视频 | 黄色在线观看网址 | 国产成人一区二区在线不卡 | 91极品反差婊在线观看 | 亚洲高清资源 | 成人精品福利 | 日韩怡红院 | xxxx性×xx| 天天摸日日添狠狠添婷婷 | 久青草国产免费观看 | 欧美一级免费观看 | 四虎永久在线精品2022 | 国产高清网站 | 操狠狠| 午夜女同影院 | 黄录像欧美片在线观看 | jizz性欧美12 | 亚洲一区二区三区四区在线观看 | 久久综合婷婷 | 99精品国产高清自在线看超 | 美女扒开腿让男生桶爽网站 | 国产成人精品三级 |