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.

[参考译文] TMS320F28379S:更改 Z1_BOOTCTRL 寄存器中的 BMSP0和有关 BMODE 的澄清

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1489361/tms320f28379s-changing-bmsp0-in-z1_bootctrl-register-and-clarification-on-bmode

器件型号:TMS320F28379S
主题中讨论的其他器件:C2000WARE

工具与软件:

主要关注事项:- 1. 详细说明了 Z1_BOOTCTRL 中将 BMSP0更改为 GPIO73的步骤 并将其他保留为默认值?

               要对此进行测试、我需要尝试 EMU 引导模式、它的值和地址都是多少。 我尝试了使用 0xFE5A 适用于0xD00、0x004A 适用于0xD01、但无法正常工作。

问题:- 使用 BMSP 引脚切换引导模式时的 BMODE 行为困惑以及更改 BMSP0的实现

我正在进行这样的设置:

  • 默认情况下、应用程序代码应从闪存加载。
  • 当引导模式切换到 SCI 模式时、它应该通过 SCI bootloader 加载代码。

出厂默认设置:

  • BMSP0 - GPIO84
  • BMSP1 - GPIO72
  • SCI TX - GPIO84
  • SCI RX - GPIO85

由于此设置存在引脚冲突、因此我使用测试了 SCI 引导加载程序 仿真引导模式 内存位置 0xD00 最终目的 0x815A 要将 SCI 管脚切换到其备用配置、请执行以下操作:

  • 备用 SCI TX - GPIO29.
  • 备用 SCI RX - GPIO28.

电流要求:
我现在想改变 BMSP0 最终目的 GPIO73 而不是默认值来管理引导模式选择。

问题:

  1. 在中 Z1_BOOTCTRL 我了解的用途 BMSP0 BMSP1 密钥 但是角色是什么 BMODE 如果使用 BMSP 引脚选择了引导模式、则会播放吗?
  2. 如果 BMODE 覆盖基于引脚的引导模式选择、我如何将其配置为允许根据我的要求在闪存和 SCI 模式之间切换?
  3. 仅修改 BMSP0 在将所有其他参数保持为默认值的同时、我应该向写入什么值 Z1_BOOTCTRL 注册以及如何注册?
  4. 是否有任何文档或代码示例可用于正确实现该目标?

欢迎提供任何指导或参考资料。

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

    您好!

    很抱歉这么久的回答-我试图回答你下面的所有问题:

    1.您的引导模式选择引脚用于选择四个选项之一:  

    因此、对于 BMSP0 = 1和 BMSP1 = 1、默认引导模式为"Get/Flash"。   

    但请记住、"获取模式"意味着可以根据 BMODE 的值选择多种不同的引导模式。 这是有意为之、因为这意味着引导模式可由用户配置、并且有 许多不同的可用选项。  总之、 如果您使用"Get/Flash Mode"、BMODE 寄存器会选择使用的引导模式。 有关 BMODE 寄存器的说明、请参阅 TRM 的第4.6节:

    2. BMODE 不会覆盖 BOOT 引脚选择。 启动引脚首先选择启动路径。 BMODE 仅用于定义在"Get Mode"中发生的情况。

    3.首先、由于 BMSPx 配置是在器件 OTP 中编程的、因此我始终建议在实际对 OTP 进行编程之前使用仿真引导来验证您的引导模式(我相信您已经这样做了)。 在仿真引导模式下、器件会像处理 OTP 寄存器一样处理仿真引导寄存器。 通过这种方式、您可以写入仿真引导寄存器以设置用于调试目的的引导模式、而无需对 OTP 进行编程。  如果您已经成功使用了仿真引导、则可以继续对 OTP 进行编程。 这可以通过使用片上闪存工具轻松完成。  在 CCS 中、在调试会话期间、您可以转到"Tools"->"On-Chip Flash"菜单。 此 UI 窗口可让您轻松对标记过的 OTP 寄存器进行编程。

    如果您只更改一个引导引脚 GPIO、您只需 修改 Z1 BOOTCTRL 寄存器中的该位置、我在下表中突出显示了这些内容。 要将其设置为 GPIO73、您也可以根据下面的寄存器说明中所示写入值74:

    4我们在此方面没有具体示例、但我们在 C2000ware 中有一个闪存编程示例和 SCI 闪存内核示例:{C2000Ware}\device_support\f2837xs+ examples\CPU1。

    我们还提供了器件引导 ROM 源代码、其中包含可以在开发各种通信协议引导加载程序时使用/参考的 C 文件:{C2000Ware}\libraries\boot_rom\f2837xs+ RevB\rom_sources\F2837x_bootROM\cpu01-bootROM\source。

    我还会注意到、一位同事正在研究引导加载程序应用手册、以帮助 简化类似信息、 但此手册尚未发布。   如果需要、我可以尝试在 E2E 上澄清任何其他内容。 希望上述的帮助在这段时间!

    此致、

    Allison

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

    您好、Allison、

    我的要求是将 BMODE 设置为 闪存、 将 BMSP0设置为73、将其他选项保留为默认设置。  

    这样、我可以先将 BMSP 设置为 SCI 模式、以通过引导加载程序加载代码

    然后将 BMSP 更改为从闪存引导模式。

    我使用仿真引导模式进行了测试、以使其能够按预期工作。

    1.请提供详细资料 尝试使用您提到的调试中的片上菜单在 OTP 中写入 Z1_BOOTCTRL。

     编程的价值和方式。

    我也对片上闪存工具有一些疑问

    为什么我使用的 TMS320F28379S 器件名称不同?  

    我需要在这里和在 E2E 的其他一些帖子中进行编程的价值是什么?我看到了这个 "请注意、闪存 API 在编程时至少有64位、以便正确计算 ECC 值、因此您的缓冲区可能需要包含周围的一些存储器。"   我该怎么做。

    请帮我解决问题。

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

    您好、Allison、

    我的要求是将 BMODE 设置为 闪存、 将 BMSP0设置为73、将其他选项保留为默认设置。  

    这样、我可以先将 BMSP 设置为 SCI 模式、以通过引导加载程序加载代码

    然后将 BMSP 更改为从闪存引导模式。

    我使用仿真引导模式进行了测试、以使其能够按预期工作。

    1.请提供详细资料 尝试使用您提到的调试中的片上菜单在 OTP 中写入 Z1_BOOTCTRL。

    什么 电流 以及 我需要如何编程。

    我假定的值 0x004A0B5A  

    但我注意到默认值为0xFFFFFFFF、因此我假设其值应为  0xFF4A0B5A  

    请告诉我正确的值和详细的步骤

    我也对片上闪存工具有一些疑问

    为什么我使用的 TMS320F28379S 器件名称不同?  

    我需要在这里和在 E2E 的其他一些帖子中进行编程的价值是什么?我看到了这个 "请注意、闪存 API 在编程时至少有64位、以便正确计算 ECC 值、因此您的缓冲区可能需要包含周围的一些存储器。"   我该怎么做。

    请帮我解决问题。

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

    您好!

    请让我在这里再多留一天时间来制定一个正确的回应。 感谢您的耐心!

    此致、

    Allison

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

    您好、Allison、

    当然可以! 感谢您的响应。 请查看下面随附的详细信息以供参考。

    我主要关注的是、

    什么  电流  速度  写入地址   Z1_BOOTCTRL  在 OTP 中使用  调试中的片上菜单。

    根据 EMU 引导模式的结果、该值为   0x004A 0B5A  

    但 我注意到默认值是  0xFFFFFFFF  因此、根据这一点、我假设该值是  0xFF4A 0B5A  

    请告诉我正确的值、以便我可以尝试对 OTP 存储器进行编程

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

    由于 您有两个正在进行的线程 讨论相同的主题、因此我将转到这个结束线程、然后将讨论移至另一个线程。

    此致!

    Matt