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.

[参考译文] 使用 N2HET 引脚进行 UART 通信

Guru**** 2483995 points
Other Parts Discussed in Thread: TMS570LS0432, HALCOGEN, CODECOMPOSER

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/717991/using-n2het-pins-for-uart-communication

主题中讨论的其他器件:TMS570LS0432HALCOGENCODECOMPOSER

是否有关于使用 HET 子系统的全面技术指南? 什么是指令集?

我使用的是 TMS570LS0432、HALCoGen、FreeRTOS 和 CodeComposer Studio 8.1.1。

好的、我的帖子还为时过早。 我在参考手册中看到了我要求提供的信息。

我正在尝试使用 HET 创建第二个 UART。

但我仍然对 HALCoGen 有疑问、在 HET、HET1全局时序配置中、有一个组框:NHET 驱动器设置。 一些帖子说我应该检查启用 高级配置模式/禁用 Blackox 驱动程序。 我无法再次找到该帖子。 您能解释一下吗? 我还针对 GPIO 端口使用 HET 和 AM suing HET 来实现 PWM。 现有的 HET 函数和 UART 函数之间是否会有冲突?

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

    如果您想将 NHET 仿真 UART 代码和 HALCoGen 生成的 PWM 代码编程到 NHET RAM 中、则需要修改代码中的"跳转"地址等。 否则,代码将无法正确执行。

    启用高级配置模式会将您的其他 NHET 代码(例如 NHET UART)代码集成到 het.c (memcp...)中、并将 nhet_uart.h 和 NHET_UART.c 添加到您的项目中。 加载 NHET_UART*后,HALCoGen 将不会生成 PWM 代码。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、如果我希望 NHET 同时提供 UART 和 PWM 功能、那么我不想选中"Enable Advanced Config Mode / Disable Blackbox Driver"。

    您回答说我需要"修改"跳转"地址等" 我找过任何看起来像跳转表的地方、但找不到它。 请告知我在哪里可以找到修改跳转地址的位置。

    您是否有任何 NHET 服务于两个功能的示例?

    谢谢、

           Ken

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果必须的话、我可以绕过 PWM。 我已经尝试实现 HET UART。 我已验证 UART 代码是否已上传到地址0xFF460000处的 HET 存储器。 我已使用0x00400000对第一个命令进行 OR-ing 来放置断点。 断点永远不会触发。

    您建议我查看什么来诊断此问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Ken、

    您能否检查 HETEXC2寄存器中的调试状态标志是否被清除? HET 将在包含断点的指令被执行后向 CPU 发出一个调试请求。 当一个调试器被连接时(nTRST 为高电平)、并且 CPU 和 N2HET 都处于"运行"模式时、这将暂停 N2HET 和主 CPU。

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

    Sunil:

    感谢您的回复。 HETEXC2寄存器为0x00000000。 我将 Launchpad TMS570LS0432与 USB JTAG 仿真器搭配使用、因此 nTRST 引脚应处于高电平。

    请注意、我将 NHET[19]用于 TX、将 NHET[6]用于 RX。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1.在 N2HET RAM 上打开一个存储器窗口
    2.在您想要中断的指令的程序字段中设置位22。 请注意、这个指令将在 N2HET 被暂停前执行-与 CPU 断点的运行方式略有不同。
    3.确保 CPU 和 N2HET 正在运行、如果它们被暂停、则通过 JTAG 仿真器重新启动 CPU (N2HET 将在 CPU 启动时启动)。
    4。当达到断点时、CPU 和 N2HET 都将停止。

    您可以对 TX 和 RX 使用任何引脚。 确保引脚多路复用器被正确设置以使用 N2HET[19]。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    QJ 感谢您的回复。

    自从发布此问题以来、我们已经更改了我们要与之通信的芯片。 新芯片是 I2C。 我已经在 HET 中实现了 I2C 示例、并更改了引脚以匹配我们的配置。 我的示波器显示输出正常、但我们内部还没有芯片、因此我无法测试 I2C 的 RX 部分。

    此致、

           Ken