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.

[参考译文] TMS320C5517:有关 NOR 闪存启动的查询

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/995330/tms320c5517-inquiry-about-nor-flash-boot

器件型号:TMS320C5517
主题中讨论的其他器件: TMDSEVM5517

各位专家:

客户正在使用 TMS320C5517AZCHA20开发其系统。 闪存启动似乎不能与他们的电路板一起工作。 因此、客户提出了一些问题。

[ Customer's Environment ]

  DSP: TMS320C5517AZCHA20

  Flash-ROM:MX29LV320ETTI-70G(This Flash is connected to CS5 of EMIF)

  Debugger : XDS510 USB JTAG EMULATOR

  CCS: Version: 8.3.1.00004

对于客户系统板的时钟,12.288MHz 输入 CLKIN。 此外,PLL 寄存器配置和 EBSR 寄存器配置也会根据客户的电路板进行更改。 对于 NOR 闪存写入、客户修改了 CSL 中的示例代码并将其使用。 客户创建了用于配置 PLL/EBSR 寄存器的简单测试固件、并在启动后重复切换 GPIO (高电平/低电平)、他们正在检查 NOR 闪存启动是否可以通过该固件正常工作。 对于客户系统板的时钟,12.288MHz 输入 CLKIN。 此外,PLL 寄存器配置和 EBSR 寄存器配置也会根据客户的电路板进行更改。 对于 NOR 闪存写入、客户修改了 CSL 中的示例代码并将其使用。 客户创建了用于配置 PLL/EBSR 寄存器的简单测试固件、并在启动后重复切换 GPIO (高电平/低电平)、他们正在检查 NOR 闪存启动是否可以通过该固件正常工作。

他们的询问如下。

  1. 首先、客户希望检查固件是否已正确加载到 DSP 中。 在独立运行期间,是否可以通过 CCS/Debugger 访问 DSP 的内部 RAM/寄存器值?
  2. 打开电源后、XF 信号将切换(高/低)一段时间。 您是否认为未成功从 NOR 闪存加载固件?
  3. 客户正在参考使用 TMS320C5517引导加载程序(www.ti.com/.../sprabp1)。 根据2.2.1 NOR 闪存,顶部引导块设备可能工作,也可能不工作(由于非标准 CFI 实施,由供应商决定)。 您认为 MX29LV320ETTI-70g 是顶部引导块设备”吗? 客户已使用 C5409A/MX29LV320ETTI-70g 开发其他系统。 该板能够启动而不会出现任何问题。
  4. 客户想要确定问题所在。 如果专家能够建议客户应检查的其他要点、我们将不胜感激。

客户目前已经检查了以下几点。

  • 将 XDS 调试器连接到电路板并从 CCS 执行测试固件时、测试固件工作正常。
  • 启动后、BMR 寄存器中的 BOOTMODE[5:0]通过 CCS 显示0x010000。
  • 启动后、CCR2中的 CLKSELSTAT 位显示0x1
  • 将固件写入闪存 ROM 后,客户能够通过 CCS 的“内存浏览器”从 CS5的起始地址(0x780000)读取引导签名(0x09AA)

客户确认、对于 TMDSEVM5517 EVM、闪存引导工作正常。 在这种情况下、使用 CS2。  请问您的专家能给您提供建议/意见吗?

此致、

宫崎

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

    宫崎您好、

    我们将进行检查并尽快返回

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

    您好、Miyazaki-San、

    导致 NOR 闪存引导失败(在 CCS 加载工作时)的两个主要原因是:

    应用 程序(程序或常量)使用 SARAM31 (字节地址0x4E000–0x4FFFF)、因为引导加载程序将使用此区域作为工作缓冲区。 请他们仔细检查映射文件

    2.未启用 mport、因为引导加载程序将在分支到应用程序代码之前禁用 mport。 请在 main()的开头使用以下代码:

    //启用 HWA、CPU、Dport、mport、xport、 和 IPORT
    *(volatile ioport UINT16 *)(0x0001)= 0x000E;
    /*执行 IDLE 指令*/
    asm (" idle");

    此致、

    Ming

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

     Ming、您好!

    感谢您的评论。 我与客户分享了您的意见。 我想等待他们 的反馈 几天。

    此致、

    宫崎

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

     Ming、您好!

    由于新冠疫情,客户现在无法验证 mport 设置。 下周、客户将对其进行评估、因此、请将此主题状态设置为"待定"。

    感谢您的耐心等待。

    此致、

    宫崎

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

    您好、Ming 先生。

    这是宫崎先生在论坛上发表的中原。

    很抱歉耽误你的回答。

    感谢您的评论。

     我检查了映射文件、但 SARAM31 (字节地址0x4E000–0x4FFFF)看起来未使用。

    2.我尝试将以下代码添加到 main ():,但它不起作用。

    //启用 HWA、CPU、Dport、mport、xport、 和 IPORT
    *(volatile ioport UINT16 *)(0x0001)= 0x000E;
    /*执行 IDLE 指令*/
    asm (" idle");

    我有疑问。

    看起来主()流程在我们的电路板上不起作用。

    当使用示波器检查电源是否接通时、

    - XF 信号似乎重复切换。

    NOR 闪存连接到 EMIF_CS5、但信号似乎不仅重复输出到 EMIF_CS5、而且重复输出到 EMIF_CS4。 (EM_CS2和 EM_CS3未连接、无法确认)

    在这种情况下、您能否确定引导签名读取不正确?

    请告诉我接下来是否有要看的内容。

    此致、

    中原