在线观看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

    文章

    767

    瀏覽量

    114689
  • STM32F10
    +關注

    關注

    0

    文章

    45

    瀏覽量

    15629
  • FSMC
    +關注

    關注

    0

    文章

    55

    瀏覽量

    38151
收藏 人收藏

    評論

    相關推薦

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

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

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

    MCU的片內SRAM空間有限,在做一些大量數據處理、GUI顯示等應用中片內SRAM容量無法滿足應用需求,而外部SRAM器件讀寫速度快,不需要
    的頭像 發表于 06-25 09:39 ?948次閱讀
    【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

    請問STM32F103與CPLD如何通信?

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

    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

    關于STM32F103使用FSMC同步模式問題求解

    大家好,我現在正在使用STM32F103的FSMC同步模式。 需要讀取高速ADC數據,ADC是8位并口,但需要一個時鐘去觸發轉換,在時鐘上升沿讀取數據,速度20M, 我看FSMC的同步模式正好有
    發表于 04-17 08:13

    STM32F407使用DMA讀取FSMC數據只能讀取一次是怎么回事?

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

    請問一個大數組是不是不能同時跨用內外部SRAM

    0x2000001cData1stm32f4xx_hal.o(.data) SystemCoreClock0x20000020Data4system_stm32f4xx.o(.data) hsram10x20000024Data 80
    發表于 03-26 07:06

    FSMC模擬8080刷OLED從F1移植到F4后無法使用怎么解決?

    1STM32F103ZET6上配置的FSMC模擬8080用于刷新OLED(256*64),使用正常;2、移植至STM32F412RET6后無法使用,時鐘、復用、
    發表于 03-19 07:16

    STM32實例教程,帶你了解FSMC的功能和用法[?]()

    PC 存儲卡。STM32通過FSMC可以與SRAM、 ROM、 PSRAM、 NOR Flash和NANDFlash等存儲器的引腳直接相連。STM32F1
    發表于 03-15 15:53

    使用STM32FSMC與CYUSB3014通信,3014的GPIF要設置成什么模式?

    需求是STM32的數據通過FSMC傳輸給CYUSB3014,再USB傳給PC。 1.請問使用STM32FSMC與CYUSB3014通信,3
    發表于 02-27 07:52

    關于雅特力AT32F403A XMC復用模式驅動SRAM芯片

    描述:AT32F403A引腳比較緊張,XMC(類似于STM32 FSMC)只支持復用模式,就是A0-A15和D0-D15都用一個引腳,如果要用,只能用鎖存器將地址鎖存,實現地址線和數據線的分離,目前
    發表于 01-04 10:46
    主站蜘蛛池模板: 九九久久九九久久| 黄色大片视频在线观看| 日韩加勒比在线| 欧美爆插| 在线视频永久在线视频| 一区在线观看视频| 永久黄网站色视频免费| 国产亚洲精品久久yy5099| 一区二区三区四区欧美| 久久久久久久综合| a爱视频| 日本综合在线| 黄色网址在线播放| 国产精品香蕉在线一区| 四虎最新在线| 精品一区二区三区免费毛片爱| 国产精品三级在线观看| 亚洲欧美一区二区三区麻豆| 色资源窝窝全色| 久久久久久久综合狠狠综合| 女同毛片| 真实国产伦子系| 免费黄色的视频| 伊人91在线| аⅴ天堂中文在线网| 国产主播一区二区| 欧美人成绝费网站色www吃脚| 国产乱码精品一区二区三区四川人| 天天视频入口| h视频免费观看| 天堂在线.www资源在线观看| 久久国产精品久久久久久久久久| 久久免费精品| 韩国一区二区三区视频| 狠狠狠色丁香婷婷综合久久五月 | 久久黄色影片| 性色视频免费| 国产日韩欧美一区二区| 啪啪免费看| 四虎新地址4hu 你懂的| ww欧洲ww在线视频看ww|