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.

[参考译文] TMS570LC4357:CAN 引导加载程序和 F021闪存 API 的系统时钟

Guru**** 2449030 points
Other Parts Discussed in Thread: TMS570LC4357

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/623400/tms570lc4357-system-clock-for-can-bootloader-and-f021-flash-api

器件型号:TMS570LC4357
主题中讨论的其他器件: HALCOGEN

您好!

我使用的是 TMS570LC4357、在测试 CAN 引导加载程序时遇到了一些问题。

我使用了 HalcogGen 4.6版、我使用了闪存 API 02.01.01。

首先、

系统时钟100Mhz 和150Mhz 在引导加载程序中工作良好。 但是、无法运行200MHz 和300MHz 或更高150MHz。

在闪存擦除过程中,Fapi_issue194.CommandWithAddress 返回值为 Fapi_Status_Success。

但状态检查例程不能脱离无限循环。

while (FAPI_CHECK_FSM_READY_BUSY = Fapi_Status_FsmBusy);

while (FAPI_GET_FSM_STATUS! = Fapi_Status_Success);

当系统时钟超过150MHz 时、就会发生这种情况。

闪存 API 02.01.01是否不支持高于150Mhz 的系统频率?

第二、

当引导加载程序的系统时钟与应用程序相同时、引导加载程序会很好地运行应用程序。

但如果不同(引导加载程序为100MHz、应用程序为300MHz)、则应用程序不起作用。

应用程序似乎已超出系统时钟范围。

然而、当应用程序在 CCSV7中单独执行时、系统时钟被很好地设置并且运行良好。

感谢您的回答。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Kim、

    您是否更改了 BL_CONFIG.h 中的系统时钟定义? SYS_CLK_FREQ 应与 HCLK 保持一致。

    #define CRYSTICL_FREQ 16 //MHz

    #define SYS_CLK_FREQ 150 //MHz

    闪存由 HCLK 计时、并限制为最大150MHz。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、王

    我为 GCLK 错误处理 SYS_CLK_FREQ。
    我使用适当的 HCLK 值设置 Fapi_initializeFlashBanks 函数、CAN 引导加载程序正常工作。
    感谢你的建议。

    谢谢、此致
    Kim。