当前位置: 首页 > news >正文

C2000 SysConfig FLASH 模块配置说明

C2000 的 Flash 控制器在 SysConfig 中通过 FLASH 模块配置,对应硬件实例FLASH0CTRL


Name

实例的逻辑名称,默认myFMC0,生成代码里会用这个名字作前缀。


Calculate Wait State [RWAIT]

控制 RWAIT 等待周期的来源。

状态含义
勾选SysConfig 根据你配置的 SYSCLK 频率自动计算 RWAIT,结果显示在下方灰色区域(只读)
不勾选手动填写 RWAIT 值,填错会导致 Flash 读取异常甚至程序跑飞

推荐勾选,让工具自动算。


Wait State [RWAIT]

Flash 读取的等待周期数。CPU 频率远高于 Flash,读数据时必须等 Flash 就绪,等待周期越多说明 SYSCLK 越高。

SYSCLK 越高 → RWAIT 越大 例:SYSCLK = 150MHz → RWAIT = 0x3(3 个等待周期)

SysConfig 提示说明

工具会在这里显示一条蓝色提示:"It is important to look at your device's datasheet for information about what the required minimum flash wait state is for your selected SYSCLK frequency."

这不是报错,是提醒你:SysConfig 自动计算 RWAIT 的依据是你在时钟配置里填的 SYSCLK 频率。如果频率填错了,算出来的 RWAIT 就可能偏低,Flash 还没准备好 CPU 就去取数据,轻则读到错误数据,重则程序跑飞,而且极难复现。

只要确认 SysConfig 里的 SYSCLK 和实际 PLL 配置一致,这条提示可以忽略。


Enable Prefetch

预取缓冲,CPU 顺序执行时提前把后续指令从 Flash 读进来。

状态含义
勾选顺序代码几乎感觉不到等待周期,性能好
不勾选每条指令都要等 Flash,性能下降明显

Enable Cache

Flash 代码或数据访问缓存,把最近访问过的数据缓存起来。

状态含义
勾选循环体、频繁调用的函数直接命中缓存,不用每次读 Flash
不勾选重复执行的代码也要反复读 Flash,效率低

Prefetch 管"向前看",Cache 管"记住用过的",两个一起开效果最好。


Enable ECC

硬件纠错码,检测并修正 Flash 存储中的位翻转错误。

状态含义
勾选自动纠正 1-bit 错误,检测 2-bit 错误,功能安全场景基本必须开
不勾选位翻转错误无法被发现,数据静默出错

ECC Instance

ECC 寄存器基地址,自动关联为FLASH0ECC_BASE,只读,不需要动。


Register Interrupt Handler

是否注册 Flash 中断(主要用于捕获 ECC 错误事件)。

状态含义
勾选SysConfig 生成中断注册代码,可在 ISR 里处理 ECC 错误
不勾选不处理 Flash 中断,一般应用保持默认即可

对应代码

FLASH 模块的配置最终对应device.cDevice_init()中的这一行:

Flash_initModule(FLASH0CTRL_BASE, FLASH0ECC_BASE, DEVICE_FLASH_WAITSTATES);
  • FLASH0CTRL_BASE:Flash 控制器基地址
  • FLASH0ECC_BASE:ECC 寄存器基地址
  • DEVICE_FLASH_WAITSTATES:RWAIT 值,定义在device.h,根据 SYSCLK 频率预设

使用 SysConfig 工程时,这个调用会移到生成文件里,device.c里原来那行会被条件编译屏蔽,不会重复执行。


总结

默认全勾 + 自动计算 RWAIT,保证时钟配置和实际 PLL 一致就行。
http://www.gsyq.cn/news/1489296.html

相关文章:

  • 量子计算入门:原理、技术价值与典型应用场景解析
  • 解锁惠普游戏本性能潜能:OmenSuperHub完全离线控制方案
  • Win11Debloat:专业级Windows系统优化工具,高效定制您的计算体验
  • i.MX95系统电源管理:PF09 PMIC硬件设计深度解析与实战指南
  • imageio:一个 Python 库搞定所有图像视频读写
  • 亚洲封面人物解读|香港品牌研究院发布《创始人IP标准体系白皮书》第15卷·全球篇,创始人IP全球影响力构建范式
  • 全国上门闲置名包名表服务机构盘点:多维度对比 - 互联网科技品牌测评
  • ACE UI框架静态资源包:30+可直接运行的管理后台页面模板与组件
  • 用VB搞定数据库连接,这个实战经验值千金
  • 6-8午夜盘思
  • SigmaPlot安装教程(附加安装包)SigmaPlot详细安装教程SigmaPlot15 最新版安装教程
  • 3个颠覆性方案:用CNKI-download重构你的学术文献管理流程
  • 2026年过半还不会这7个Python库?你的开发效率至少落后同事3倍
  • PHP日期时间区间与周期计算
  • 深圳防水补漏哪家靠谱?2026正规修缮公司排名实测 - 苏易修缮
  • D3KeyHelper终极指南:5分钟掌握暗黑3自动化战斗技巧,彻底解放你的双手!
  • 七、Linux网络管理
  • Codex Mini使用教程:手机远程连接Mac版Codex客户端教程
  • P2056 [ZJOI2007] 捉迷藏 / abc460_f - Farthest Pair Query
  • Windows系统定制化封装
  • 飞书文档转Markdown:一键解决跨平台文档迁移难题
  • AI资讯与实时新闻日报 | 2026年6月7日
  • 人工智能日报 每日AI新闻(2026年6月7日):提示注入防护、苹果AI预期与中美Agent生态升温
  • 如何快速解决Krita AI Diffusion插件中SD3模型CLIP文件缺失问题:完整配置指南
  • tcpdump 与 Wireshark 网络抓包实战:远程抓包、过滤表达式、流量分析
  • g3800,g3810,ip2700,g5080,g1800,ts3470,TS8380,ts6480报错5B00,P07,E08,5b02,1704,1700,5b04废墨垫清零,亲测有用。
  • 83万人缺口+31%薪资涨幅:2026高考志愿填报,金融数据赛道到底怎么选?
  • WaveTools终极指南:如何轻松解锁鸣潮120帧并优化游戏体验
  • C# + Modbus TCP + 西门子S7-1200:1000点位工业数据采集系统稳定运行12个月总结
  • Outline 自托管团队知识库/Wiki 搭建教程(Notion 替代方案)