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/TMS570LS3137:TMS570LS3137 -无法读取 EEPROM 的值

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/702850/ccs-tms570ls3137-tms570ls3137---can-not-read-value-of-eeprom

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

工具/软件:Code Composer Studio

尊敬的先生:

我提到了将数据读取到 EEPROM 的解决方案。 链接在此处。

https://e2e.ti.com/support/microcontrollers/hercules/f/312/p/561564/2057055#pi320098filter=all&pi320098scroll=false 在此链接中、我无法了解如何更改32位寄存器地址。 因为在这个示例中、0xF0200002地址只用于组7。  在调试期间、如果我转到存储器浏览器、位置读取指针值默认情况下必须存储0xF0200002。 您能帮我解决这个问题吗...

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

    Krunal、您好!

    许多应用需要在非易失性存储器中存储少量系统相关数据(例如、校准值、器件配置)、以便即使在系统下电上电后也可以使用、修改或重复使用这些数据。 EEPROM 主要用于此目的。 EEPROM 能够多次擦除和写入存储器的各个字节、即使系统断电、编程位置也能长期保留数据。

    我们在 HALCoGen 中提供 FEE (EEPROM)驱动器。 FEE 驱动器提供以下功能(API)服务:

    初始化:

    • TI_FEE  

    运营:

    • TI_fee_WriteAsync
    • TI_fee_WriteSync
    • TI_fee_read
    • TI_FEE 中间块
    • TI_FEE 验证块
    • TI_FEE 关断  
    • TI_FEE 取消
    • TI_FEE 格式

    等等

    闪存 API 中的地址是32字对齐的(0x00、0x04、0x08、...)、否则会出现错误。

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在 CCS 中启用了 FEE 驱动器、参考链接中共享的上述代码、该地址位置已被擦除。 哪个 API 用于将数据写入特定位置?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    e2e.ti.com/.../7331.example_5F00_TI_5F00_Fee_5F00_Write_5F00_Read.c

    我对您在 Halcogen 中给出的示例代码有疑问。 在 TI_fee_WriteASYNC() API 中,未指定写入地址位置。 我们如何从地址位置读取数据。 那么、您能帮我解决问题吗? 或者、如果您有任何代码片段、请选择"Share with Us (与我们共享)"。

    谢谢大家、此致

    Krunal Desai

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

    您好 Krunal、

    FEE 具有与闪存不同的操作算法。 它使用块编号写入数据并读回数据。 块结构在 FEE 读取/写入前被定义。 它不使用该地址。

    e2e.ti.com/.../6825.TI-FEE-User-Guide.pdf

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的先生:
    你是对的。 但在前面的链接代码中、我可以在特定地址进行读取和写入。 但是、在示例代码中、我们必须检查读取和写入过程。 对于我的应用程序,我希望在 EEPROM 位置写入数据,而不是从该位置读取数据。 它在以前的代码中工作。 我问您之前的文档代码不适用于 EEPRPOM 吗? 谢谢你
    此致、
    Krunal Desai
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Krunal、

    您希望将组7用作常规闪存、而不是 EEPROM。 如果您将其用作常规闪存、则无需 FEE 驱动器、您可以使用 F021闪存 API 来擦除和编程 Bank7中的扇区。 您可以将值写入特定地址、并通过地址读回该值。

    地址必须是32位字地址:0x..0、0x...4、0x...8、0x...C

    请参阅 TI 引导加载程序中的 BL_FLASH.c。