主题中讨论的其他器件:C2000WARE
尊敬的专家:
我的代码遇到了 Fapi_initializeAPI() 返回的问题Fapi_Error_InvalidHclkValue, indicating the FCLK is above FCLK_max
。 以下是我的设置:
F021_CPU0_BASE_ADDRESS
等于FLASH_CTRL_REGS
(0x0005F8000)、并FLASHDRV_HCLK_FREQUENCY
设置为100。 在这种情况下、FRDCNTL
将寄存器设置为0x00000F00 (RWAIT = 15)、这是复位值。 我 找到并遵循这个线程: https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1062754/tms3202838-cannot-initialize-flash-api-fapi_setactiveflashbank-returns-fapi_error_invalidhclkvalue?tisearch=e2e-sitesearch&keymatch=Fapi_Error_Invalid HclkValue# 设置寄存器FRDCNTL
0x00000200 (RWAIT=2),并通过这个改变, Fapi_initializeAPI() 返回Fapi_Status_Success
.
我的问题是关于返回值的含义Fapi_Error_InvalidHclkValue
—具体而言、最大值是多少FCLK_max
? 根据数据表,FCLK = HCLK / (RWAIT + 1)
。 我很困惑为什么我的原始设置与RWAIT = 15
结果Fapi_Error_InvalidHclkValue
(在这种情况下,FCLK = 6.25 MHz
)。 但是,当RWAIT
更改为2时,会导致较高的FCLK
(33.33 MHz),返回值为Fapi_Status_Success
。 您能否说明为什么较低的 FCLK 会导致 Fapi_initializeAPI ()返回错误?
为什么应将 RWAIT 配置为2?
感谢您的支持。
此致、
C·C·刘