91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

STM32F1_ FSMC讀寫外部SRAM

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

掃碼添加小助手

加入工程師交流群

前言

今天總結(jié)“STM32F103FSMC讀寫外部SRAM”,主要使用FSMC來(lái)控制外部SRAM,對(duì)SRAM進(jìn)行讀寫的操作。本文章提供的工程對(duì)SRAM讀寫從操作類似于對(duì)FLASH讀寫操作。

關(guān)于STM32的FSMC(靈活的靜態(tài)存儲(chǔ)器控制器)這一部分內(nèi)容比較實(shí)用,在實(shí)際應(yīng)用中也是比較重要的(對(duì)于需要實(shí)用FSMC來(lái)說(shuō))。運(yùn)用FSMC來(lái)控制外接器件比運(yùn)用軟件模擬來(lái)控制效率要高的多,而且操作簡(jiǎn)單。

也許對(duì)于初學(xué)者來(lái)說(shuō),對(duì)FSMC不了解,或不感興趣。因?yàn)镕SMC在實(shí)際開(kāi)發(fā)中主要用于外擴(kuò)RAM和ROM,初學(xué)者對(duì)于RAM和ROM的需求不高,基本上內(nèi)部資源都?jí)蛄恕?duì)于喜歡使用LCD屏的人應(yīng)該了解FSMC,因?yàn)镕SMC控制LCD也是一種很好的方式,市面上很多開(kāi)發(fā)板上的LCD屏都兼容FSMC。

下載

今天提供下載的“軟件工程”都是在硬件板子上進(jìn)行多次測(cè)試、并保證沒(méi)問(wèn)題才上傳至360云盤。

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

https://yunpan.cn/cSrN5SYtDcyBA訪問(wèn)密碼 47fb

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

https://yunpan.cn/crBUdUGdYKam2訪問(wèn)密碼 ca90

內(nèi)容講解

工程概要說(shuō)明: 提供工程是對(duì)外部SRAM讀寫,可以當(dāng)做緩存(如:一個(gè)BUF)來(lái)使用,但并不是芯片的RAM(運(yùn)行內(nèi)存),只是對(duì)SRAM進(jìn)行讀寫操作。

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

提供的工程以簡(jiǎn)單為原則,詳細(xì)中文注釋,方便自己方便大家。

關(guān)于“STM32F103 片內(nèi)FLASH編程”我把重要的幾點(diǎn)在下面分別講述:

一、時(shí)鐘


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

開(kāi)啟FSMC和需要使用引腳的時(shí)鐘。

二、FSMC引腳配置


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

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


三、FSMC配置


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

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

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


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

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

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


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

對(duì)1M的SRAM讀數(shù)據(jù),通過(guò)串口打印出來(lái)寫入的數(shù)據(jù),每讀一次,打印一次,中間有個(gè)延時(shí),所以整個(gè)讀取的過(guò)程時(shí)間比較長(zhǎng)。

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

五、今天的重點(diǎn)

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

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

說(shuō)明

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

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

    關(guān)注

    6

    文章

    821

    瀏覽量

    117482
  • STM32F10
    +關(guān)注

    關(guān)注

    0

    文章

    49

    瀏覽量

    16227
  • FSMC
    +關(guān)注

    關(guān)注

    0

    文章

    55

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    AT32F011 SRAM應(yīng)用指南

    上手。 支持型號(hào):AT32F011 系列 1 SRAM 奇校驗(yàn)檢測(cè)簡(jiǎn)介 AT32F011 系列內(nèi)置最高可達(dá) 9K 字節(jié)的片上 SRAM,起始
    發(fā)表于 03-02 11:39

    MDK-ARM平臺(tái)下的fft介紹

    Flash訪問(wèn)時(shí)序,配置FSMC用于外部SRAM */ bsp_Init(); /* 硬件初始化 */ printf("startrn"); for(int i=0;i
    發(fā)表于 01-22 07:35

    LAT1171+STM32F745 USART1 Bootloader 失敗原因分析與解決

    使用 STM32F745 進(jìn)行產(chǎn)品開(kāi)發(fā)的時(shí)候,出現(xiàn)了使用 STM32CubeProgramer 無(wú)法通過(guò) USART1 Bootloader 進(jìn)行程序升級(jí)的問(wèn)題。為了解決客戶的問(wèn)題,我在 NUCLEO-
    發(fā)表于 01-11 17:33 ?0次下載

    高速數(shù)據(jù)存取同步SRAM與異步SRAM的區(qū)別

    在現(xiàn)代高性能電子系統(tǒng)中,存儲(chǔ)器的讀寫速度往往是影響整體性能的關(guān)鍵因素之一。同步SRAM(Synchronous Static Random Access Memory)正是在這一需求下發(fā)展起來(lái)的重要
    的頭像 發(fā)表于 11-18 11:13 ?427次閱讀

    如何利用Verilog HDL在FPGA上實(shí)現(xiàn)SRAM讀寫測(cè)試

    本篇將詳細(xì)介紹如何利用Verilog HDL在FPGA上實(shí)現(xiàn)SRAM讀寫測(cè)試。SRAM是一種非易失性存儲(chǔ)器,具有高速讀取和寫入的特點(diǎn)。在FPGA中實(shí)現(xiàn)SRAM
    的頭像 發(fā)表于 10-22 17:21 ?4355次閱讀
    如何利用Verilog HDL在FPGA上實(shí)現(xiàn)<b class='flag-5'>SRAM</b>的<b class='flag-5'>讀寫</b>測(cè)試

    制作STM32F1開(kāi)發(fā)板的BSP失敗的原因?

    stm32f1xx_hal_sram.c... \"no source\": Error:#5: cannot open source input file \"..\\libraries
    發(fā)表于 08-29 07:42

    F429同時(shí)使用SDRAM和SRAM?

    兩個(gè)總線能不能同時(shí)使用,用了華邦的SDRAM發(fā)現(xiàn)SDRAM數(shù)據(jù)高概率讀寫錯(cuò)誤,但是用ISSI的沒(méi)問(wèn)題。如果不對(duì)外部SRAM讀寫就正常。
    發(fā)表于 08-12 06:56

    STM32F10xxx參考手冊(cè)

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

    STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊(cè)

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

    STM32F40xxx和STM32f41xx flash編程手冊(cè)

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

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

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

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

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

    STM32F103×8/STM32F103×B MCU手冊(cè)

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

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

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

    請(qǐng)問(wèn)STM32訪問(wèn)FPGA內(nèi)部SRAM部分區(qū)域?yàn)楹沃荒茏x不能寫?

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