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.

[参考译文] F28M35M52C:闪存 API 问题

Guru**** 2502205 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/993195/f28m35m52c-flash-api-questions

器件型号:F28M35M52C

感谢您的帮助、我有一位客户遇到了以下情况:

我们希望添加器件的固件升级功能。 我们需要 TI 的支持才能使用闪存 API。

面临的问题:

  • 该模块没有外部闪存。 我们需要使用处理器的内部 ROM 来复制新映像以执行固件更新。
  • 为了  实现闪存 API、我们使用了 TMS320F28M35x 和 TMS320F28M36x 闪存 API 版本1.53参考指南
    • 该指南提到了闪存 API 应从 SRAM 执行
    • 示例项目也是如此
  • 我们在项目中也进行了同样的设计
    • 添加了闪存 API 的库
    • 将调用函数移到了 RAM 中、并将闪存 API 移到了 RAM 中
  • 面临的问题:
    • 在 MCU 端、我们使用 Sys/BIOS。 这会占用大量堆栈和堆
    • 当需要集成闪存 API 时、还需要大量 RAM
    • 这会导致 RAM 使用溢出
    • DSP 器件不使用任何 RTOS、因此使用闪存 API 时没有问题
    • 我们需要支持以下方面:
      • 系统 BIOS 和闪存 API 一起提供了任何示例项目
      • 是否可以在 SRAM 之外运行闪存 API (从闪存、SHRAM 等)
      • 是否可以将堆/堆栈移动到 SHRAM。 我们尝试了此操作、设备崩溃。 因此、它看起来是不可接受的。 在我们开始使用堆和堆栈段之前、我们仍然需要检查是否存在一些预条件。
      • 我已连接内存使用量(堆栈和堆已减少、并且器件在堆和堆栈减少时无法正常工作)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、

    闪存 API 可从任何 RAM (Mx、Lx、C28x 上的共享 RAM)执行。 Cx、Sx 共享 RAM)。  不应从此器件上的闪存执行闪存 API。   

    在 C28x 上、堆栈可被映射到16位地址 RAM (0xFFFF - S3 RAM)并且不超过这个值。

    我想我们没有一个同时具有 SYS-BIOS 和闪存 API 的示例。

    我想您忘记连接内存使用情况。

    谢谢、此致、

    Vamsi

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

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

    你好、

    图像不清晰。   

    我之前的回复是否有助于扩展您的内存使用?

    API 指南并未说明共享 RAM 不能被使用。  我刚刚检查了。  不确定您所指的内容。

    谢谢、此致、
    Vamsi

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

    其他反馈:

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

    其他反馈:

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

    我们尝试将闪存 API 移至 ARM 内核中的 SHRAM。  

    注意:我们只存在 ARM 内核的内存问题、而不是 DSP 内核的内存问题。  

    我已附加进行更改的.cmd 文件。 进行此更改后、任务将被阻止、系统将不再运行。 我还附加了显示被阻止的任务的图像。

    在我将闪存 API 放置在 SHRAM 中之前是否存在任何预条件? 或者、除了.cmd 文件之外、是否还有任何其他文件需要进行更改?

    闪存 API 放置在 SRAM.e2e.ti.com/.../F28M35H52C1.cmd 中时工作正常

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

    你好、

    您能否检查  所使用 RAM 的主选择寄存器并查看其配置方式(该存储器的所有者是谁)?   

    我将把这个分配给我们的 RAM 专家、以便为您提供进一步的指导。   

    谢谢、此致、

    Vamsi

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

    您好、Will / Vamsi、

    该工程目前仅为扇区 S0和 S1提供对 DSP 的主访问。  

    SHRAM 代码被放置在扇区 S4至 S7中。 如果只对 M3内核进行此扇区主控访问、我们已将 MSxSEL 寄存器检查为相同、

    不确定为什么在 SHRAM 中放置闪存 API 时任务会崩溃。

    此致、

    Lakshmi

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

    Lakshmi、

    感谢您检查 MSxSEL 配置。

    如果不是闪存 API、您是否能够为 M3执行 S4到 S7的任何其他内容?  询问是否与闪存 API 相关。

    谢谢、此致、
    Vamsi

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

    您好 Lakshmi,您对此问题是否有进一步的更新?

    此致、

    Vivek Singh