存储器加速模块配置寄存器详解-FlashCFG
需积分: 30 173 浏览量
更新于2024-08-06
收藏 13.01MB PDF 举报
本文档主要介绍了LPC17XX系列微控制器中的存储器加速模块配置寄存器(FLASHCFG)的相关知识,以及如何通过这个寄存器来调整存储器的访问性能。存储器加速模块用于提高Flash内存的读取速度,尤其是在执行对时间要求较高的代码时,能够提供更高效的运行环境。
在LPC17XX系列微控制器中,存储器加速模块配置寄存器(FLASHCFG)位于地址0x400F C000,复位值为0x507A。该寄存器包含7个配置位,其中16位的FETCHCFG和32位的DATACFG用于决定指令取指和数据访问的缓冲方式,位4的ACCEL用于开启或关闭加速功能,位5的 PREFEN 控制预取指操作。
FETCHCFG(位1:0):
- 00:Flash中的指令取指不使用缓冲,每次CPU执行时都会直接从Flash读取,可能导致较慢的访问速度。
- 01:使用一个缓冲区处理所有指令取指,提高取指效率。
- 10:所有缓冲区可用于指令取指缓冲,进一步提升性能。
- 11:保留,不推荐使用。
DATACFG(位3:2):
- 00:Flash数据访问不使用缓冲,每次CPU请求数据时会直接读取Flash,可能影响速度。
- 01:使用一个缓冲区处理所有数据访问,降低延迟。
- 10:所有缓冲区可用于数据访问缓冲,增强数据读取速度。
- 11:保留,不应设置为此值。
ACCEL(位4):
- 0:禁用Flash加速,每次CPU读取Flash时会按照FlASHTIM+1个时钟周期执行,适合对实时性要求较低的场景。
- 1:启用Flash加速,结合其他FLASHCFG配置位可以显著提升操作速度,适用于需要高性能的代码段。
PREFEN(位5):
- 0:不执行预取指,即不预先读取下一个指令。
- 1:如果FETCHCFG字段不是00,系统会自动预读取紧跟当前执行地址的Flash行,有助于连续指令的快速执行。
改变存储器加速模块的操作模式会使得加速器内的所有内容失效,需要重新执行Flash读操作以确保与CPU操作同步。用户可以根据应用需求通过编程修改这些寄存器位,优化存储器访问性能,平衡速度与预测性。LPC17XX系列微控制器的设计旨在提供灵活的配置选项,以满足不同应用场景的需求。
点击了解资源详情
点击了解资源详情
点击了解资源详情
104 浏览量
156 浏览量
152 浏览量
146 浏览量
107 浏览量
2021-06-30 上传
![](https://profile-avatar.csdnimg.cn/e3f7abaf5ea54531a7639f970e75dd50_weixin_26712065.jpg!1)
Big黄勇
- 粉丝: 66
最新资源
- Akij-Group销售代表管理系统:进行中的技术创新
- Python快速入门教程,基础语法到Django框架
- STM32F0红外接收技术在物联网中的应用
- 多种输入法词库转换工具:绿色版使用指南
- STM32系列IC的LQFP封装全集合
- Matlab Interface开发:实现未截断牛顿时间算法
- GB2312标准宋粗字体文件压缩包详解
- HdfsExplorer开源客户端工具的C#实现
- 乔·苏米斯网页设计作品集解析
- Apache Tomcat 8.0.9 压缩包使用指南
- Neo4j 2.1.2版本的Windows运行包下载
- MbrFix:在Windows下恢复MBR以删除Linux系统的工具
- MATLAB符号表达式向量化转换技术解析
- 解决IE Applet小程序显示问题的JAVA插件
- 搭建简易Spring框架开发环境教程
- 地震波地下传播模拟的波动方程正演程序