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

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

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

3天內不再提示

STM32F1_ FSMC讀寫外部SRAM

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-04-08 10:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

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

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

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

下載

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

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

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

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

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

內容講解

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

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

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

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

一、時鐘


該函數(shù)位于bsp.c文件下面;

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

二、FSMC引腳配置


該函數(shù)位于fsmc.c文件下面;

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


三、FSMC配置


該函數(shù)位于fsmc.c文件下面;

這里的配置和你的SRAM有一點的關聯(lián)(速度、數(shù)據(jù)寬度等)。

三、外部SRAM寫數(shù)據(jù)


該函數(shù)位于fsmc.c文件下面;

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

四、外部SRAM讀數(shù)據(jù)


該函數(shù)位于fsmc.c文件下面;

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

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

五、今天的重點

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

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

說明

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

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

    關注

    6

    文章

    786

    瀏覽量

    115967
  • STM32F10
    +關注

    關注

    0

    文章

    47

    瀏覽量

    15896
  • FSMC
    +關注

    關注

    0

    文章

    55

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    STM32F10xxx參考手冊

    STM32F1XX數(shù)據(jù)手冊中文版
    發(fā)表于 07-10 16:09 ?1次下載

    STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊

    電子發(fā)燒友網(wǎng)站提供《STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊.pdf》資料免費下載
    發(fā)表于 06-06 17:06 ?5次下載

    STM32F40xxx和STM32f41xx flash編程手冊

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

    STM32F429VGT6 ST(意法半導體) LQFP-100(14x14) 嵌入式 單片機以及規(guī)格參數(shù),應用領域

    ### **STM32F429VGT6 規(guī)格參數(shù)** ? **1. 核心架構** ? - **CPU**: ARM Cortex-M4 內核,帶 FPU(浮點運算單元) ? - **主頻**: 最高
    的頭像 發(fā)表于 05-20 15:57 ?189次閱讀

    STM32F103x8 STM32F103xB單片機數(shù)據(jù)手冊

    STM32F103x8STM32F103xB單片機數(shù)據(jù)手冊
    發(fā)表于 04-14 14:55 ?2次下載

    STM32F103×8/STM32F103×B MCU手冊

    本文提供了STM32F103x8和STM32F103xB中密度高性能系列微控制器的訂購信息和機械器件特性。有關整個STMicroelectronics STM32F103xx系列的更多信息,請
    發(fā)表于 03-18 16:37 ?0次下載

    STM32F1能使用11.059Mhz外部晶振嗎?怎么設置系統(tǒng)頻率和PLL?

    請問STM32F1能使用11.059Mhz外部晶振嗎?如果可以,怎么設置系統(tǒng)頻率和PLL?
    發(fā)表于 03-14 06:31

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

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

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

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

    STM32F101x8/STM32F101xB手冊

    電子發(fā)燒友網(wǎng)站提供《STM32F101x8/STM32F101xB手冊.pdf》資料免費下載
    發(fā)表于 12-06 15:45 ?9次下載

    STM32F103x8/STM32F103xB規(guī)格書

    電子發(fā)燒友網(wǎng)站提供《STM32F103x8/STM32F103xB規(guī)格書.pdf》資料免費下載
    發(fā)表于 12-06 15:43 ?1次下載

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

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

    TMS320C6000 EMIF轉外部異步SRAM接口

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000 EMIF轉外部異步SRAM接口.pdf》資料免費下載
    發(fā)表于 10-26 10:28 ?0次下載
    TMS320C6000 EMIF轉<b class='flag-5'>外部</b>異步<b class='flag-5'>SRAM</b>接口

    STM32F40xxx、STM32F41xxx、STM32F42xxx、STM32F43xxx中文手冊

    STM32F4系列單片機中文手冊
    發(fā)表于 08-08 14:32 ?2次下載

    使用STM32外部數(shù)據(jù)總線與CY7C68013建立連接,如何獲得更高的傳輸速率?

    我試圖使用 STM32外部數(shù)據(jù)總線(如 FSMC)與 CY7C68013 建立連接,但不知道這樣能否成功連接并獲得更高的傳輸速率。 我還沒有找到這樣使用的例子。
    發(fā)表于 07-23 07:12