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

Big黄勇
- 粉丝: 68
最新资源
- VB实现Excel数据导入到ListView控件技术
- 触屏版wap购物网站模板及多技术源码大全
- ZOJ1027求串相似度解题策略与代码分析
- Excel表格数据合并工具:高效整合多个数据源
- MFC列表控件:实现下拉选择与编辑功能
- Tinymce4集成Powerpaste插件即用版使用教程
- 探索QMLVncViewer:Qt Quick打造的VNC查看器
- Mybatis生成器:快速自定义实体类与Mapper文件
- Dota 2插件开发:TrollsAndElves自定义魔兽3地图攻略
- C语言编写单片机控制蜂鸣器唱歌教程
- Ansible自动化脚本简化Ubuntu本地配置流程
- 探索ListView扩展:BlurStickyHeaderListView源码解析
- 探索traces.vim插件:Vim的范围选择与模式高亮预览
- 快速掌握Ruby编译与安装的神器:ruby-build
- C语言实现P1口灯花样控制源代码及使用指南
- 会员管理系统:消费激励方案及其源代码