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.

[参考译文] MSP432E401Y:在运行时动态更新以太网主机名

Guru**** 2392905 points
Other Parts Discussed in Thread: SYSCONFIG, MSP432E401Y

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1513284/msp432e401y-dynamically-update-ethernet-hostname-during-runtime

器件型号:MSP432E401Y
主题中讨论的其他器件:SysConfig

工具/软件:

您好:

我正在将 MSP432E401Y 与 SimpleLink SDK v4.20.0.12配合使用。 我已使用 SysConfig v1.4.0设置我的工程、并启用 NDK 激活以太网接口。 一切设置正确、设备可以连接到互联网并在网络上获得 IP。

目前在 SysConfig 和 NDK 设置中、默认主机名设置为"tisoc"、我想能够动态更新软件中的主机名。 当有多个设备连接到网络时、它们都显示在设备列表中为"tisoc"、这使得很难确定哪个设备。 理想情况下、我希望更新主机名、使其与所有唯一的设备 ID 相匹配。

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

    您好、

     您是否尝试过在 SysConfig 中更改主机名? 请在下面找到该字段以更改主机名。 我尝试将其更改为 tiosc1、它反映了自动生成的 ti_ndk_config.c 文件中的新名称。  

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

    尊敬的 Charles:

    是的、我可以在 SysConfig 中更改主机名。 问题仍然是一样的、我的所有设备现在的网络上都有一个"tisoc1"的主机名。 我需要它们都具有唯一的主机名、这在 SysConfig 中是无法完成的、因为我要设置的名称需要是可配置的。

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

    您好、

    是的、我可以在 SysConfig 中更改主机名。 问题仍然相同、我的所有设备现在的网络上都有一个"tisoc1"的主机名。

    我认为对于每个唯一的器件、您可以在其自己的.syscfg 中提供不同的主机名。 这不起作用吗?

     另一个解决方案在搜索 e2e 归档文件和 NDK 用户指南后,您似乎可以使用 CfgAddEntry ()并传递唯一的主机名。 我希望这将起作用。 抱歉、我不是 NDK 的专家。

    下面的帖子也可能会有所帮助。

    https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/892119/ccs-tm4c1294ncpdt-problem-while-manually-configuring-ndk/3298538#3298538

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

    不、不会起作用。 您必须在编译时知道器件名称、这是不可行的。 要求设备名称可由用户配置、并且网络上的主机名应与该设备名称匹配。 类似于 Windows 计算机在网络上显示其设备名称的方式、用户可以随时更改这些名称。

    我尝试在 MQTT 客户端示例中使用 CfgAddEntry ()函数、但无法使其正常工作。 无论我在代码中的哪个位置、主机名永远不会更改、它仍然显示为 tisoc。

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

    我怀疑自动生成的 ti_ndk_config.c 文件会使用  CfgAddEntry 覆盖手动插入的代码。  

    如您在自动生成的 ti_ndk_config.c 文件中所示、它有 CfgAddEntry 来添加主机名。  

    我有一个可行的解决方案。 制作  ti_ndk_config.c 的本地副本 删除使用 CfgAddEntry 添加主机名的代码。 将文件与工程中的其余源文件一起保存。 在.syscfg 中、从 "Include in build"中禁用 ti_ndk_config.c。 这样、syscfg 将不会再次重新生成 ti_ndk_config.c。  

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

    这就是我想发生的事情。

    我在 SysConfig 中看不到用于禁用"Include in build"的选项。 我的 CCS 版本为12.8.1.00005、SysConfig 为 v1.4.0。

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

    尊敬的 Sebastian:

     您使用的是哪个 CCS 版本? 查看 CCS12安装时、会使用 SysConfig v1.19。 您使用的是非常旧的 v1.4.0。 如果迁移到较新的版本、您是否仍然看不到"Include in Build"?

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

    您好:

    我明白了。

    我使用的是 v12.8.1.00005。 虽然我使用的是较新版本的 SysConfig、但我的工程看起来默认为较旧的工程。 我更新了工程设置以使用我的 CCS 文件夹(v1.21)中提供的最新版本、现在可以看到"Include in Build"选项。