ZHCSLT8C October 2021 – December 2023 TMS320F280034 , TMS320F280034-Q1 , TMS320F280036-Q1 , TMS320F280036C-Q1 , TMS320F280037 , TMS320F280037C , TMS320F280037C-Q1 , TMS320F280038C-Q1 , TMS320F280039-Q1 , TMS320F280039C , TMS320F280039C-Q1
PRODMIX
表 6-6 列出了不同时钟源和频率下所需的最低闪存等待状态。等待状态是寄存器 FRDCNTL[RWAIT] 中设置的值。
CPUCLK (MHz) | 外部振荡器或晶体 | INTOSC1 或 INTOSC2 | ||
---|---|---|---|---|
正常运行 | 存储体或泵睡眠(1) | 正常运行 | 存储体或泵睡眠(1) | |
116 < CPUCLK ≤ 120 | 5 | 5 | 6 | |
100 < CPUCLK ≤ 116 | 5 | |||
97 < CPUCLK ≤ 100 | 4 | 4 | 5 | |
80 < CPUCLK ≤ 97 | 4 | |||
77 < CPUCLK ≤ 80 | 3 | 3 | 4 | |
60 < CPUCLK ≤ 77 | 3 | |||
58 < CPUCLK ≤ 60 | 2 | 2 | 3 | |
40 < CPUCLK ≤ 58 | 2 | |||
38 < CPUCLK ≤ 40 | 1 | 1 | 2 | |
20 < CPUCLK ≤ 38 | 1 | |||
19 < CPUCLK ≤ 20 | 0 | 0 | 1 | |
CPUCLK ≤ 19 | 0 |
F28003x 器件具有经改进的 128 位预取缓冲器,可在不同等待状态下提供更高的闪存代码执行效率。图 6-23 和图 6-24 展示了该系列器件与采用 64 位预取缓冲器的上一代器件在不同等待状态设置下的典型效率比较情况。使用预取缓冲器时的等待状态执行效率将取决于应用软件中存在的分支数量。此处提供了线性代码和 if-then-else 代码的两个示例。
节 6.12.4.1 列出了闪存参数。
主阵列闪存编程必须与 64 位地址边界对齐,并且每个 64 位字在每个写/擦除周期只能编程一次。
为存储体擦除命令提供正确的扇区掩码非常重要。如果错误地选择掩码来擦除无法访问的扇区(属于另一个安全区域),存储体擦除命令将继续尝试不停地擦除扇区并且 FSM 永远不会退出(因为擦除不会成功)。为避免这种情况,用户必须注意提供正确的掩码。但是,鉴于有可能选择不正确的掩码,TI 建议在 FSM 为进行存储体擦除操作发出最大脉冲数后,将允许的最大擦除脉冲数初始化为零。这将确保 FSM 在尝试擦除不可访问的扇区到允许的最大擦除脉冲后结束存储体擦除命令。
C2000Ware 的闪存 API 使用示例中的 Example_EraseBanks() 函数描述了该序列的实现(等待 FSM 完成存储体擦除命令的 while 循环的内容)。此外还为了确保 FSM 在擦除失败时退出存储体擦除操作,无论应用是否使用安全性,用户都必须按原样使用此代码。