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.

[参考译文] 基于 TMS570LS0714芯片的 MCAL 模块中的 FEE 问题

Guru**** 2609955 points
Other Parts Discussed in Thread: TMS570LS0714, HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/763337/the-problems-of-fee-in-mcal-module-based-on-tms570ls0714-chip

主题中讨论的其他器件:TMS570LS0714HALCOGEN

大家好,

   1.首先,在 FEE ()中设置一个断点,并让程序运行到 FEE (),然后单步转到 FEE MainFunction ().State,这是一个用于调试的符号,显示 MEMIF_BUSY,        表示 FEE 模块当前正忙(请参阅图1)、这与 AUTOSAR 规范相对应(请参阅图3)。

                               

                                                              图1.

   然后 、在 FEE 写入()中设置一个断点以让程序继续运行、但程序无法运行到 FEE 写入()并跳转到 FEE Init ()、State、这是一个用于调试的符号、          显示 MEMIF_BUSY。 FEE 模块的初始化失败(请参阅图2)。 它不符合 AUTOSAR,规范、该规范将 STATE 指定为 MEMIF_IDLE        FEE 之后(见图4)。

                               

                                                               图2.

                                    

                                                              图3.

                                          

                                                              图4.

    3.此外,我想知道它是否需要在 初始化 FEE 模块之前初始化 FLS 模块(即 在 FEE 初始化之前调用 FLS_Init ())。

     有人能 帮我?

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

    调用 FEE 后、请检查变量 TI_FEE 全局变量[0].FEE 错误中的值。 如果显示 Error_SetupStateMachine、则表示 Ewait 状态未正确配置。 请查看器件数据表并配置正确的 EWAIT 状态。 不需要初始化 FLS 模块。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Vishwanath,

      在调用 FEE Init 后、变量 TI_FEE 全局变量[0].FEE 错误中的值为0xff (请参阅图1)。

      此外, 当我在 FEE ()中设置一个断点时,让程序运行到 FEE (),然后在 FEE ()中设置一个断点,让程序继续运行,程序不会继续运行

    运行 至 FEE Write (),但跳至 FEE Init ()。


                                                                     图1.

    此致、

    云强、洪

     

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

    看起来 FEE 段在链接器命令文件中未正确分配。 下面是 FEE 存储器部分的示例。 请检查链接器命令文件中是否有类似的设置。

    FEE _文本_部分:{}> FLASH0 | FLASH1
    FEE _ CONST_SECTION:{}> FLASH0 | FLASH1
    fee_data_section:{}> RAM
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Vishwanath,

        我的链接器命令文件中没有类似的 FEE 段设置(请参阅图1和图2)。

                                                               图1.  

                                                                   图2.

       我是否应该 在  图2的部分中添加费用部分?  如何添加? 您能不能为我提供一个参考示例? I‘m 一只绿手。 )

    谢谢、此致、

    云强、洪

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

    您好!

    根据您发送的链接器设置、请使用以下命令:

    fee_text_section:{}> FLASH0
    fee_const_section:{}> FLASH0
    fee_data_section:{}> RAM

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

    您好 Vishwanath,

      现在,变量 TI_fee_GlobalVariables[0].fee_Erro 中的值 显示 Error_SetupStateMachine(请参阅图1)。 如前所述、Ewait 状态应该配置不正确。

                                                                   图1.

      我花了很多时间研究器件数据表(TMS570LS0714)、但我不知道如何 配置正确的 EWAIT 状态。 请告诉我:)

    谢谢、此致、

    云强、洪

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

    您好!

    您是否将 HALCoGen 用作启动代码? 是的、以下代码段会(写入 EEPROM_CONFIG_HL)设置 FEE 组的等待状态。

    void setupFlash (void)

    /*用户代码开始(6)*/

    /*用户代码结束*/

      /**-设置闪存读取模式、地址等待状态和数据等待状态*/

      flashWREG->FRDCNTL = 0x000000000000

               |(UINT32)((UINT32) 3U << 8U)

               |(uint32)((uint32) 1U <<4U)

               | 1U;

      /**-为组7设置闪存访问等待状态*/

      FSM_WR_ENA_HL  = 0x5U;

      EEPROM_CONFIG_HL = 0x00000002U

              |(uint32)((uint32) 3U <<16U);/* EWAIT 状态*/

    /*用户代码开始(7)*/

    /*用户代码结束*/

      /**-禁用对闪存状态机寄存器的写入访问*/

      FSM_WR_ENA_HL  = 0xAU;

      /**-设置闪存组电源模式*/

      flashWREG->FBFALBACK = 0x000000000000

                 |(UINT32)((UINT32) SYS_ACTIVE << 14U)//组7 */

                 |(UINT32)((UINT32) SYS_ACTIVE << 2U) /*组1 */

                 |(UINT32)((UINT32) SYS_ACTIVE << 0U);//组0 */

    /*用户代码开始(8)*/

    /*用户代码结束*/

    在数据表中、第42页具有以下内容。 根据器件的频率、您需要配置正确的 EWAIT 状态。

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

    您好,Vishwanath,

     我使用 HALCoGen 作为启动代码、并使用 PGE,160MHz(请参阅图1和图2)。    您是否在代码中实现了160MHz? 如果不是、我应该在代码中进行修改吗?请告诉我。:)

                                        图1.  

    谢谢、此致

    云强、洪

                                                                  图2.

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

    有关工作频率、请参阅 system.h 文件。 通常、GCLK_FREQ/HCLK_FREQ 为 CPU 工作频率。 在 system.c 文件中,请参阅 setupFlash()并验证是否正确配置了等待状态。

    FEE 运行频率应与 system.h 文件中配置的频率相同。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好, Vishwanath,

      如何验证等待状态是否配置正确? 因为 我专门从事 MCAL、所以我不熟悉 TMS570芯片和寄存器的操作。 请告诉我:)

                                           图1.

    谢谢、此致

    云强、洪

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

    您好!

      FEE Init 通过、但无法写入(请参阅图1)。请告诉我:)

                                                                  图1.

    谢谢、此致

    云强、洪

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

    您好!

    调用 FEE 后、请检查变量 TI_FEE 全局变量[0].FEE 错误中的值。 FEE 是否成功、扇区标头应已写入 FEE 组。

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

    您好,

      现在,FEE 模块可以写入和读取(参见图1),但闪存的工作频率不 是160MHz,而是80MHz。   闪存的频率是否可以在160MHz 下运行? 如果有,我该怎么办?

                          

                                                       图1.

    谢谢、此致

    云强、洪

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

    FEE 可在160MHz 下运行。 您需要在 HALCoGen 中正确配置频率并生成文件。 验证 Ewait 状态是否正确生成。 下一步、在 EBTresos 中配置相同的频率并生成文件。 运行 FEE 任意验证数据是否正在写入扇区标头。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

      如何 在 HALCoGen 中正确配置频率 ? 您能提供一些有关它的图片吗?

    谢谢、此致、

    洪云强。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    我已在 HALCoGen 中正确配置160MHz 并生成文件,但它无法通过 FEE Init()。 但是、80MHz 可以正常工作。
    为什么?
    谢谢、此致
    洪云强。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我已经为 TMS570LS0714器件附加了基于 HALCoGen 的 TI FEE 项目。 我已将 TI FEE 配置为以180MHz 运行并能够执行写入。 请将其与您的项目进行比较。 请注意 、我使用的费用是基于 HALCogen 的、但不是 Autosar API。 但是、这不应对 FEE 操作产生任何影响、因为 Autosar FEE 是基于 HALCoGen 的 FEE.e2e.ti.com/.../2134.Fee_5F00_Forum0714.7z 的包装器

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

    您好!

      我知道、为了       与 EB 配置 工具生成的代码保持一致、您已经修改了之前版本代码中端口上的小问题?

       您是否 曾  在  EB 配置 工具中配置过 FEE 并对其进行过测试?

    谢谢、此致

    云强、洪