This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
开发环境:
MCU:TMS320F2800156-Q1
CCS:12.7
SDK:C2000Ware_5_02_00_00
在 SDK 演示中、 在 Device_init ()函数中调用 Flash_initModule 和 SysCtl_setClock、 Flash_initModule 将是初始化 WAITSTATES 参数、这样将提高 MCU 性能。
WAITSTATES 可以从0~0xF 设置,这个参数是相关的系统时钟,所以我认为两个函数的正确顺序是 SysCtl_setClock -> Flash_initModule ,因为我们首先需要初始化系统时钟 ,然后我们可以设置 WAITSTATES,这是正确的逻辑。但实际上,在演示中,序列是 Flash_initModule -> sysctl_initclock, 所以你能解释一下吗?
/BR
塞缪尔
尊敬的 Samuel:
如果通过闪存运行代码、则 应在 SysCtl_setClock 之前调用 Flash_initModule。 否则、建议在 SysCtl_setClock 之后执行该操作。
如果您查看我们的 闪存构建(_FLASH)示例代码、只会调用它、否则会在 flashapi_ex1_programming.c 中调用它
谢谢、此致、
Rajeshwary
您好、 Rajeshwary、
感谢您的答复。 如您所说、如果代码在闪存中运行、则应在 SysCtl_setClock 之前调用 Flash_initModule。 但是、如果代码在 RAM 中运行、为什么需要初始化 WAITSTATES 参数? 我认为此参数与 获取 闪存区域中的指令和数据有关。
/BR
塞缪尔
尊敬的 Samuel:
是 WAITSTATES 定义 闪存读取等待状态。 不过、闪存 API 从 RAM 运行、但执行闪存操作。
谢谢、此致、
Rajeshwary
您好、 Rajeshwary:
"是的,我知道。" 最后,我总结它如下:
/BR
塞缪尔
是的、这是 正确的。
很高兴你的疑虑被清除了。
谢谢、此致、
Rajeshwary