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.

[参考译文] TMS320F28388D:引导 ROM 保持在等待引导模式

Guru**** 2540720 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1332688/tms320f28388d-boot-rom-stays-in-wait-boot-mode

器件型号:TMS320F28388D

您好!

               我要将代码从379D 移动到388。  在我们的流程中、我们有意创建了看门狗超时、并期望代码在复位后重新启动。  在379D 中、此过程只是重新启动代码。  但是对于388、处理器转至 TI 引导加载程序、并保持在等待引导模式地址范围内。  仿真器已连接、除非 EMUBOOTPINCONFIG、否则引导加载程序将根据我读取的内容进入等待引导模式。 将0xA5 (spruii0e pg706、表5-9 CPU1 BOOTPINCONFIG 位字段)载入密钥。

               在文档的第718页、它指出 EMUBOOTPINCONFIG 的地址为0x0000 0D00。  但根据数据表 SPRSP14E 第264页、该地址是 PieVectTable 的起始地址。  在 TRM 第153页中、该地址与复位向量相关联。  Description 字段的意思是、"始终从引导 ROM 中的位置0x003F_FFC0提取复位"。  这是否意味着地址0x0000 0D00处的值被忽略、因此可用于 EMUBOOTPINCONFIG 等其他程序?

谢谢!

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

    Ed、

               实际上始终从引导 ROM 中的位置0x003F_FFC0提取复位。  

    这是否意味着地址0x0000 0D00的值被忽略,因此可用于 EMUBOOTPINCONFIG 等其他用途?

    我认为 www.ti.com/lit/SPRUHM8第623页 更好地解释了这一点:

    EMU_BOOTCTRL 实际上并不是寄存器、而是指 RAM (PIE RAM)中的一个位置。 PIE RAM
    从0xD00开始、但前几个位置保留(在中初始化 PIE 矢量表时
    应用程序代码)的所有源代码。

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

    您好、Hareesh。

    伪波8j 用于379。  我正在使用没有 IORESTORE 寄存器的388。  我一直在使用 spruii0e 第711页和712页作为参考。  我一直假设这些都是正确的。  我一直在将地址0xD00用于我的实验。  我试着把它更改为0xA5FFFF、使用第706页的表5-9 CPU1 BOOTPINCONIG 位字段作为该值的参考。  我能够改变它、但是处理器仍然以0x3FB114结束、根据第725页、表5-28 CPU1的等待点地址、在等待引导更多地址范围内。

    谢谢!

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

    我知道 SPRUHM8是用于379的。 我只是指出这个文档、因为它更好地解释了0xD00地址的使用。

    我正在研究没有 IORESTORE 寄存器的388。  [/报价]

    请阐明您提及 IORESTORE 寄存器的原因。

    我尝试将其更改为0xA5FFFF,

    您是使用0xA5FFFF 还是0xA5FFFFFF?

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

    您好、Hareesh。

    它解释了0xD00…

    我明白了。 很抱歉、我没有看到这个。

    我提到 IORESTOREADDR 寄存器是为了解释该图表是为379而不是在388中、因为该寄存器在388中不存在。

    是的、您是对的。  我错了。  值为0xA5FF_FFFF。

    并更新。  尽管我仍在进入等待引导模式位置、但我确定这是因为过程中的另一个步骤进行了相同的看门狗复位、并且没有实验代码。  但对于包含 TI 引导加载程序的代码、我现在可以看到 TI 引导加载程序正按预期退出我们的代码。  现在我将把实验转换为实数代码、此过程中的所有步骤都将使用这些代码。

    感谢您的帮助、Hareesh。

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

    很高兴它开始工作。 流程图中明确注明了以下内容:

    • 如果 KEY 等于0xA5、它将转到独立引导、其中会读取客户 OTP (GPREG1至4)。 当仿真器被连接时、这个路径被用于调试独立启动。
    • 如果 KEY 等于0x5A、它将转到仿真引导、其中使用的是位置0xD00至0xD06、而不是客户 OTP。 使用此路径、以便客户可以复位器件、在仿真 OTP 位置输入引导路径、然后运行并检查不同的引导路径。
    • 如果 KEY 不等于其中的任何一个、它将进入等待引导、这是一个无限循环。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢你,Hareesh。

    我认为这将有助于另一个发展步骤,这是在道路上的方向。

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

    你好,Hareesh。

    我只是重复检查我自己的理智。 您确定 0x5A 将使用地址 0xD00至0xD06吗? 0x5A 不强制使用独立寄存器吗? 难道这不是另一回事吗? 如果是、它可能会解释我的问题...

    以下是 TRM 的摘录:

    此致

    埃兹拉