存储器加速模块配置寄存器详解-FlashCFG
需积分: 30 10 浏览量
更新于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系列微控制器的设计旨在提供灵活的配置选项,以满足不同应用场景的需求。
148 浏览量
165 浏览量
1967 浏览量
点击了解资源详情
107 浏览量
152 浏览量
157 浏览量
152 浏览量
108 浏览量

Big黄勇
- 粉丝: 68
最新资源
- 富文本编辑器图片获取与缩略图设置方法
- 亿图画图工具:便捷流程图设计软件
- C#实现移动二次曲面拟合法在DEM内插中的应用
- Symfony2中VreshTwilioBundle:Twilio官方SDK的扩展包装器
- Delphi调用.NET DLL的Win32交互技术解析
- C#基类库大全:全面解读.NET类库与示例
- 《计算机应用基础》第2版PPT教学资料介绍
- VehicleHelpAPI正式公开:发布问题获取使用权限
- MATLAB车牌自动检测与识别系统
- DunglasTorControlBundle:Symfony环境下TorControl的集成实现
- ReactBaiduMap:打造React生态的地图组件解决方案
- 卡巴斯基KEY工具:无限期循环激活解决方案
- 简易绿色版家用FTP服务器:安装免、直接配置
- Java Mini Game Collection解析与实战
- 继电器项目源码及使用说明
- WinRAR皮肤合集:满足不同风格需求