• STM32访问外部存储器NORFlash


    基本说明

    STM32访问外部存储器是需要配置FSMC的相关函数,在STM32固件库函数说明的中文翻译版中并没有这部分的说明,因此需要参考库函数的相关说明和库中自带的例程。

    以下内容来自AN2784应用笔记:

    2 与非总线复用模式的异步16位NOR闪存接口

    2.1

    FSMC配置

    控制一个NOR闪存存储器,需要FSMC提供下述功能:

    选择合适的存储块映射NOR闪存存储器:共有4个独立的存储块可以用于与NOR闪存、SRAM和PSRAM存储器接口,每个存储块都有一个专用的片选管脚。

    使用或禁止地址/数据总线的复用功能。

    选择所用的存储器类型:NOR闪存、SRAM或PSRAM。

    定义外部存储器的数据总线宽度:8或16位。

    使用或关闭同步NOR闪存存储器的突发访问模式。

    配置等待信号的使用:开启或关闭,极性设置,时序配置。

    使用或关闭扩展模式:扩展模式用于访问那些具有不同读写操作时序的存储器。

    因为NOR闪存/SRAM控制器可以支持异步和同步存储器,用户只须根据存储器的参数配置使用到的参数。

    FSMC提供了一些可编程的参数,可以正确地与外部存储器接口。依存储器类型的不同,有些参数是不需要的。

    当使用一个外部异步存储器时,用户必须按照存储器的数据手册给出的时序数据,计算和设置下列参数:

    ADDSET:地址建立时间

    ADDHOLD:地址保持时间

    DATAST:数据建立时间

    ACCMOD:访问模式 这个参数允许 FSMC可以灵活地访问多种异步的静态存储器。共有4种扩展模式允许以不同的时序分别读写存储器。 在扩展模式下,FSMC_BTR用于配置读操作,FSMC_BWR用于配置写操作。(译注:如果读时序与写时序相同,只须使用FSMC_BTR即可。)

    如果使用了同步的存储器,用户必须计算和设置下述参数:

    CLKDIV:时钟分频系数

    DATLAT:数据延时

    如果存储器支持的话,NOR闪存的读操作可以是同步的,而写操作仍然是异步的。

    当对一个同步的NOR闪存编程时,存储器会自动地在同步与异步之间切换;因此,必须正确地设置所有的参数

    程序分析

     

    实际例程

    以下例程来自  stm3210e_eval_fsmc_nor.c具体信息参加固件库中源文件。

     

    ★emouse 思·睿博客文章★ 原创文章转载请注明:http://emouse.cnblogs.com
  • 相关阅读:
    转:backbone.js源码解析:extend、Backbone.View
    转:前端单元测试总结
    转:JavaScript Promises相当酷:一种有趣的方案库
    npm发布模块
    转:nodejs npm常用命令
    nodejs守护进程forever
    转:SublimeText2 快捷键一览表
    转载7 Essential JavaScript Functions
    用node生成svg图片
    关于performance
  • 原文地址:https://www.cnblogs.com/emouse/p/2198192.html
Copyright © 2020-2023  润新知