主题中讨论的其他部件:HALCOGEN,
早上好。
fee_init()未正确初始化。 我发现其他错误来自此内部函数:
IF ((Fapi_initializeFlashBanks ((UINT32) TI_Fee操作频率))=Fapi_Status_Success)
它 返回"Fapi_Error_InvalidHclkValue"。 传递参数"TI_Fee操作频率"值为160.000F,由HalCoGen自动设置。 我使用的芯片是PGE版本(LQFP封装)。 根据您的数据表(SPNS192B–2012年10月–2015年2月修订,第46页),启用管道模式时,最大频率为160MHz,且ewait设置为3。 在HalCoGen中所有设置都正确(如下面的打印屏幕)
为了确保我设置了正确的ewait状态,我在调用fee_init()函数之前添加了您的代码:
const uint8_t flashDataWaitState = 3;
FAPI_WRIT_EWAIT (flashDataWaitState);
要使Fee功能正常工作,我必须手动将 “TI_Fee操作频率”值设置为150.000F,然后一切都正常。 但下次我重新生成HalCoGen时,同样的问题将 再次出现。
您能否告诉我您的Flash API为何拒绝正确的频率?
谢谢你。