TI E2E™ 设计支持论坛将于 5 月 30 日至 6 月 1 日进行维护。如果您在此期间需要技术支持,请联系 TI 的客户支持中心寻求帮助。

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.

[参考译文] CCS/TMS570LS0432:在 TMS570LS0432上具有 F021库的 EEPROM

Guru**** 2048030 points
Other Parts Discussed in Thread: TMS570LS0432, HALCOGEN
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/836209/ccs-tms570ls0432-eeprom-with-f021-library-on-tms570ls0432

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

工具/软件:Code Composer Studio

您好!

我尝试使用 F021库将数据保存到 TMS570LS0432 LaunchPad 上的 EEPROM 中、但无法实现。 我尝试过不同的方法、这是一段代码:

我已经在 halcogen 中检查了 EEPROM 的地址:

我按照参考手册中的步骤操作:

此外、这是当前配置的 CPU 频率:

该库已正确链接和安装、如果我读取初始化过程以及写入和读取过程中涉及的函数的状态、则会显示"Fapi_Status_Cucs"。

我还尝试了高级手册中的流程图步骤:

使用闪存状态机的控制寄存器(一些代码示例也在高级手册中提供)、为了进行写入和读取、我设法写入 FWPWRITEx 寄存器、但当我检查写入该值的地址时、 这是一个随机/默认地址、没有考虑到我已经将 FADDR 寄存器设置为0xF0200000、而且默认地址似乎不是来自 EEPROM 组的存储器。

因此、这两种方法都不起作用。 请通过检查我的代码中的错误内容来提供一些建议。

此致、

Ciprian。

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

    您好、Ciprian、

    我们有一个闪存 EEPROM 仿真驱动程序(FEE)。 它是我们的硬件 抽象层代码生成器(HALCoGen)的一部分。

    HALCoGen 有一个简单的示例代码、用于初始化 FEE、向 FEE 写入/读取数据:

    HALCoGen-->帮助-->示例--> TMS570LS04x_03x_02x--->示例_TI_FEE Write_Read.c

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

    我也尝试过这种方法、当我尝试从"Std_types.h"头进行编译时、我收到错误消息、该头文件显然不存在、并且不是由 halcogen 生成的。

    此外、这不是我的问题、我问的是 F021库、而不是收费驱动程序。

    谢谢。

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

    我还附加了一个带有存储器浏览的屏幕截图、并使用数组中的值而不是其地址来更改了 Fapi 函数的参数。

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

    我在论坛上找到了一个名为 Fapi_BlockProgram()的 API 函数,但它没有包含在我的库中,我也没有在网上找到它的任何实现。 如果您向我提供它的实施、那会有帮助吗?

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

    您好、Ciprian、

    我知道您想将闪存组7用作 EEPROM。 这就是我建议您使用 FEE 驱动器的原因。

     Fapi_BlockProgram()是 CAN 引导加载程序中使用的 BL_FLASH.c 的函数之一。 bl_flash.c 是使用闪存 API 的一个很好的示例。 请在以下链接中找到引导加载示例代码:

    http://git.ti.com/hercules_examples

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

    您好!

    我是以另一种方式实现它的。 我创建了自己的 EEPROM 编程功能、现在它可以正常工作。 我将代码保留在这里、可能也会对其他人有所帮助。

    e2e.ti.com/.../3343.EEPROM-header.txt

    e2e.ti.com/.../0447.EEPROM-src.txt

    如果您想实现擦除功能、请参阅《高级手册》。

    e2e.ti.com/.../5875.SPNA148.pdf

    希望这对他人有所帮助、不要浪费时间使用库中已实现的函数。 此外、为了编程/擦除寄存器、应该更新与应该如何编辑寄存器的流程图相关的文档(spna148)、并且更加详细。

    美好的一天!

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

    e2e.ti.com/.../1373.EEPROM.c

    e2e.ti.com/.../3630.EEPROM.h

    这些是一些具有以下功能的更新文件:程序、擦除(整个 bank7)和读取。 您只能对64位进行一次编程。

    希望这对他人有所帮助。