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

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

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

3天內不再提示

STM32F1_ FSMC讀寫外部SRAM

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-04-08 10:02 ? 次閱讀

前言

今天總結“STM32F103FSMC讀寫外部SRAM”,主要使用FSMC來控制外部SRAM,對SRAM進行讀寫的操作。本文章提供的工程對SRAM讀寫從操作類似于對FLASH讀寫操作。

關于STM32的FSMC(靈活的靜態存儲器控制器)這一部分內容比較實用,在實際應用中也是比較重要的(對于需要實用FSMC來說)。運用FSMC來控制外接器件比運用軟件模擬來控制效率要高的多,而且操作簡單。

也許對于初學者來說,對FSMC不了解,或不感興趣。因為FSMC在實際開發中主要用于外擴RAM和ROM,初學者對于RAM和ROM的需求不高,基本上內部資源都夠了。對于喜歡使用LCD屏的人應該了解FSMC,因為FSMC控制LCD也是一種很好的方式,市面上很多開發板上的LCD屏都兼容FSMC。

下載

今天提供下載的“軟件工程”都是在硬件板子上進行多次測試、并保證沒問題才上傳至360云盤。

今天的軟件工程下載地址(360云盤):

https://yunpan.cn/cSrN5SYtDcyBA訪問密碼 47fb

STM32F10x的資料可以在我360云盤下載:

https://yunpan.cn/crBUdUGdYKam2訪問密碼 ca90

內容講解

工程概要說明: 提供工程是對外部SRAM讀寫,可以當做緩存(如:一個BUF)來使用,但并不是芯片的RAM(運行內存),只是對SRAM進行讀寫操作。

程序運行流程:上電寫入外部SRAM數據“0 - 262143”(剛好是1M空間,4字節空間一數據),再通讀讀函數讀出其數據,通過串口打印出來。這里每讀一次串口打印一次數據,LED變化一次。(請觀測現象)

提供的工程以簡單為原則,詳細中文注釋,方便自己方便大家。

關于“STM32F103 片內FLASH編程”我把重要的幾點在下面分別講述:

一、時鐘


該函數位于bsp.c文件下面;

開啟FSMC和需要使用引腳的時鐘。

二、FSMC引腳配置


該函數位于fsmc.c文件下面;

使用了FSMC的引腳都須配置為“GPIO_Mode_AF_PP”,否則不能使用(感興趣的可以試試)。對于NE3就是:NOR/PSRAM3,我測試的工程是使用FSCM存儲塊1(下圖)的NOR/PSRAM3。所以我測試工程里面的地址是“0x68000000”,其實這個地址有講究的,請看最后重點。


三、FSMC配置


該函數位于fsmc.c文件下面;

這里的配置和你的SRAM有一點的關聯(速度、數據寬度等)。

三、外部SRAM寫數據


該函數位于fsmc.c文件下面;

對1M的SRAM寫數據(為了測試),方便下面讀操作。

四、外部SRAM讀數據


該函數位于fsmc.c文件下面;

對1M的SRAM讀數據,通過串口打印出來寫入的數據,每讀一次,打印一次,中間有個延時,所以整個讀取的過程時間比較長。

這個地址可以修改,或者選擇一段來讀取測試也行。希望看到的人都親自修改程序來測試一下,方便記憶和鞏固。

五、今天的重點

A.關于地址的問題,今天提供的工程外部SRAM地址是“0x68000000”(宏定義在fsmc.h里),善于發現問題和動手的人會發現一個問題,我將這個地址改為“0x68100000”或“0x68200000”測試的效果都一樣。我告訴你答案,效果確實是一樣的,原因就在于外部SRAM容量“SRAM_EXT_SIZE”大小是1M,而“0x00100000”剛好是1M,這里的地址溢出部分剛好抵消了,所以為什么修改地址也是一樣的效果。但地址必須在存儲塊1的NOR/PSRAM3區域。

B.今天是自己通過標準庫來配置的FSMC,其實在“system_stm32f10x.c”文件里面有使用寄存器直接配置FSMC的源代碼,感興趣的朋友可以看一下,今天使用標準庫配置其實也是希望大家數據各個參數的功能作用。其實,希望大家在熟悉配置之后還是使用“system_stm32f10x.c”里的配置,畢竟這是官方提供的,它這樣配置效率也比較高。

說明

今天提供的軟件工程基于STM32F103大容量芯片,中等及小容量芯片沒有FSMC功能,自然也不能使用,只要修改flash.h文件一個宏(頁大小就可以)。其實只要適當修改工程的部分配置,STM32F1有FSCM功能的芯片都適用。

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

    關注

    6

    文章

    779

    瀏覽量

    115504
  • STM32F10
    +關注

    關注

    0

    文章

    46

    瀏覽量

    15772
  • FSMC
    +關注

    關注

    0

    文章

    55

    瀏覽量

    38459
收藏 人收藏

    評論

    相關推薦

    請問STM32訪問FPGA內部SRAM部分區域為何只能讀不能寫?

    采用STM32F427+FPGA+Flash。 STM32通過FMC總線訪問FPGA內部SRAM,起始地址為0x60000000; Flash中存儲FPGA的配置數據,STM32和FP
    發表于 03-12 07:59

    FPGA與STM32通過FSMC總線通信的實驗

    : (1)支持不同位寬的異步讀寫操作。 (2)不同的BANK在映射地址空間中是獨立的,可用于擴展不同的存儲器。 (3)支持代碼從FSMC擴展的外部存儲器中直接運行。 兩種工作方式:地址
    的頭像 發表于 11-12 17:20 ?3110次閱讀
    FPGA與<b class='flag-5'>STM32</b>通過<b class='flag-5'>FSMC</b>總線通信的實驗

    自制一款兼容STM32F1/F4芯片的飛控板

    自己制作的一款兼容STM32F1/F4芯片的飛控板。
    發表于 07-04 14:07 ?0次下載

    【GD32F303紅楓派開發板使用手冊】第二十五講 EXMC-外部SRAM讀寫實驗

    MCU的片內SRAM空間有限,在做一些大量數據處理、GUI顯示等應用中片內SRAM容量無法滿足應用需求,而外部SRAM器件讀寫速度快,不需要
    的頭像 發表于 06-25 09:39 ?1468次閱讀
    【GD32<b class='flag-5'>F</b>303紅楓派開發板使用手冊】第二十五講 EXMC-<b class='flag-5'>外部</b><b class='flag-5'>SRAM</b><b class='flag-5'>讀寫</b>實驗

    stm32fsmc總線上同時掛載LCD屏和SRAM和單獨設置一個FSMC總線設備的有哪些區別?

    我想問一下stm32fsmc總線上同時掛載LCD屏和SRAM和單獨設置一個FSMC總線設備的有那些區別(我只做個單個設備的掛載)那位大神和廠家能講一下嗎,有實例最好,我就是怕不會出現
    發表于 05-31 07:31

    STM32F407讀取掛在FSMC上的外部ADC數據,開啟DMA的Mem to Mem模式時只能讀取一次FSMC數據,為什么?

    大家好,我現在使用STM32F407,想要讀取掛在FSMC上的外部ADC的數據,我利用NOE產生一個時鐘信號給ADC。 現在的問題是,當我開啟DMA的Mem to Mem 模式時,只能讀取一次
    發表于 05-29 07:20

    用MDK將UCOS+UCGUI下載到外部SRAM中調試慢怎么解決?

    寫數據。 @@觸摸屏是使用STM32內部ADC采樣觸摸數據,同樣使用了一個任務不停的對于UCGUI的GUI_TOUCH_Exec();) 外部SRAM:512K的IS61LV25616AL-10T
    發表于 05-17 11:41

    調試STM32和VPC3通訊,FSMC的復用功能總有莫名其妙的短脈沖出現,為什么?

    各位大神們,小弟最近在調試STM32和VPC3通訊是,發現個奇怪的事情,我用的是FSMC的復用功能,讀寫數據都正常的,但是監測數據線總有莫名其妙的短脈沖出現,死活查不到原因,希望高手們給指點下
    發表于 05-17 08:52

    請問STM32F103與CPLD如何通信?

    讀寫控制線:INT1~INT5;MPUCLK;FSMC_CLK;FSMC_NOE;FSMC_NWE;FS
    發表于 05-17 07:36

    stm32f429將NandFlash和SDRAM都外掛在FSMC總線上,LCD顯示很多黑線怎么解決?

    我使用stm32f429開發板,將NandFlash和SDRAM都外掛在FSMC總線上, 而LCD的顯存是存放在SDRAM中,當對NandFlash進行格式化時,LCD 顯示很多黑線,當格式化完成,顯示回復正常。 是否是總線獨占的問題?,是否有方法可以解決?
    發表于 05-17 07:20

    STM32F427的FSMC能接入AD7606的并行總線嗎?

    請問各位大俠,STM32F427的FSMC能接入AD7606的并行總線嗎,現在FSMC上只掛接2片AD7606,時序上能配合嗎?
    發表于 05-17 06:57

    FSMC_Bank1FSMC_Bank1E沒有定義是怎么回事?

    ?如標題所述, FSMC_Bank1FSMC_Bank1E 沒用定義,但是在stm3f4xx.h中明明有: ? ?#if defined (STM32F427_437xx) || d
    發表于 05-15 08:00

    求助,關于STM32F407VET6 FSMC的地址問題求解

    STM32F407VET6FSMC接口驅動 DM9000的問題,PD7 接做為片選,PD11做為指令與數據的 代碼如下: #define DM9000_DATA*(vu16*)((u32
    發表于 05-15 07:49

    求助,關于STM32F407通過FSMC訪問NAND FLASH問題求解

    問題描述:STM32F407通過FSMC外設訪問三星NAND FLASH,系統時鐘是168MHz,始化外設GPI0D的PD0、PD1、PD3、PD4、PD6、PD11、PD12、PD14、PD15
    發表于 05-09 06:14

    FSMC讀寫NAND后,如何能夠拉高NCE片選信號,以求降低功耗?

    請教大家問題: FSMC讀寫NAND后,如何能夠拉高NCE片選信號,以求降低功耗! 手冊和實際測試結果只能通過bank切換才能實現!bank2和bank3可以單獨切換,釋放NCE,但如何同時釋放NC呢? 不知道大家有沒有遇到這樣的問題! 謝謝大家
    發表于 04-28 08:36
    主站蜘蛛池模板: 日本wwww色| 欧美成网 | 一夜七次郎久久综合伊人 | 欧美婷婷六月丁香综合色 | 我爱操| 求av网址 | 日本在线视频一区二区 | 欧美成人午夜影院 | 免费任我爽橹视频在线观看 | 最新仑乱免费视频 | 久久国产视频一区 | 久久久国产乱子伦精品 | 操综合网 | 四虎永久在线精品国产 | 夜夜想夜夜爽天天爱天天摸 | 高清欧美日本视频免费观看 | 手机在线精品视频 | 美女三级在线 | 中文字幕在线播放一区 | 日本在线黄色 | 国产日韩欧美综合色视频在线 | 日本一区视频在线观看 | 乱色伦短篇小说 | 女人被狂躁视频免费网站 | 五月激情六月 | 正在播放久久 | 色妹子综合| 午夜国产| 足控免费视频xxav | 国产精品久久久久乳精品爆 | 在线中文天堂 | 谁有毛片网站 | 亚洲天堂不卡 | 国产精品成人一区二区三区 | 77788色淫网站免费观看 | 欲色影院 | 俺去啦在线视频 | 一级毛片视频在线 | 午夜国产 | 日韩色天使综合色视频 | 中文字幕日本一区波多野不卡 |