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.

[参考译文] MSPM0G3507:MSPM03507 上的 Zephyr 当前状态?

Guru**** 2696535 points

Other Parts Discussed in Thread: MSPM0G3507, UNIFLASH

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1591482/mspm0g3507-zephyr-on-mspm03507-current-status

器件型号: MSPM0G3507
Thread 中讨论的其他器件: UNIFLASH

您好、

在年初,我试图让 Zephyr 启动并在 3507 LaunchPad 上运行,但最终放弃了。

现在,我可以看到 3507 在 Zephyr 主网页上有一个设置页面,所以我尝试了它 — 一切构建和看起来都很好,直到我发出“west flash -- openocd / src /openocd --openocd-search /tcl“行、这会导致故障。 我得到的印象是电路板已刷写(闪存至少已擦除,因为现有应用程序之后无法工作)、但闪烁的示例无法启动、并且无法调试电路板。  
现在、我找到了有关要使用哪个存储库的大量信息、所以也许我更喜欢使用 ti 存储库? 但我以前使用的分支已不再可用。

所以,我想我的第一个问题是 — 我应该使用哪个 Zephyr repo/branch? 上次我研究这个问题时、看起来好像支持 SPI 和 ADC、但现在好像不再支持了吗? (根据 Zephyr board/msp0g3505 Launchpad 页面)那里有很多冲突信息、我想这就是为什么我无法使其正常工作。

 

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

    您好:

    您正在使用哪个版本的 Zephyr SDK? 如果你是 17.4 我会建议 https://github.com/msp-ti/zephyr/tree/i2c_dev 这个分支目前.  

    在你的.vev,我发出:

    (.venv) C:\Users\ \zephyrproject\Zephyr> git checkout -b i2c_dev MSP-ti/i2c_dev

    (.venv) C:\Users\ \zephyrproject\Zephyr>西部更新

    (.venv) C:\Users\ \zephyrproject\Zephyr> west build -p always -b LP_mspm0g3507 samples\basic\blanky

    我能够使用上述命令重现您的问题、芯片现在无法运行。  

    我将进一步研究这一点,但我们的专家 Zephyr 是不在办公室,直到美国感恩节后。  

    此致、

    Tyler

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

    嗨、

    我能够让一个版本正常工作。 通常 、https://github.com/msp-ti/zephyr/tree/mspm0_dev_stable 包含稳定的构建、但各个分支将包含特定的功能、例如 i2c、spi 等 我们目前正在努力整合这些数据、并期望在不久的将来提供更多的文档。

    此外、要解决当前问题、请确保您使用的 Zephyr 的 SDK 版本与分支匹配。 例如、上面的 DEV_STABLE 分支使用 SDK 版本 0.17.0、我只在从版本 0.17.4 切换到 0.17.0 后才使电路板正常工作。  

    请使用 SDK 版本 0.17.0 尝试 dev_stable 分支、并告诉我您是否能够使其正常运行。

    此致、

    Tyler

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

    尊敬的 Tyler:

    感谢您的测试!  

    下面是我所做的...

    在 zepyrproject.org 中、我从电路板选择器中选择了 LP_mspm0g3507 电路板。 然后、我按照安装指南进行操作、该指南使得 17.4 SDK 得以安装。 这不是受支持的 SDK 吗? 根据 docs 和 dts、该变体看起来不支持很多驱动程序。 但它支持的驱动器之一是我需要的 PWM。

    出于某种原因,当试图看看是否有任何替代品从 Texas Instruments ,我最后在 github.com/TexasInstruments/msp-zephyr。 我想这是一个错误的回合。

    当查看 github.com/msp-ti/zephyr 作为你的链接时,我认为这是我在年初使用的存储库。 DEV_STABLE 看起来支持大量驱动器、但不支持 PWM? 实际上、DEV_STABLE 看起来自 9 个月后没有变化。

    我必须说,很难遵循 TI git 的动作。 (我的意思是,如何实现 PWM 在 zephyrproject.org 上受支持、但在 DEV_STABLE 中不受支持?)

    是否有任何支持 ADC、PWM、i2c、SPI 且也具有已知工作配置/SDK 的分支?

    无论如何、我尝试了 mspm0_dev_stable 的 0.17.0、首先安装一个干净的 zephyrproject、然后完成后删除 Zephyr 文件夹、  然后删除“git clone github.com/.../zephyr.git'、然后签出“git checkout mspm0_dev_stable“。 但它没有构建。
    我也尝试像上次建议的那样拉取 hal_ti.git、但这没有任何区别。
    我收到的错误是“错误:文件中格式错误的“生成“部分:
     /home/x/zephyrproject_mspm0g3507/modules/hal/nxp/zephyr/module.yml

    不确定如何/为什么 引用 hal/NXP。

    我有点失望,因为 TI 没有更进一步 — 仍然相同的混乱设置与试用和错误,早在一年。  

    谢谢、

     Micael

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

    嗨、

    感谢您的耐心等待、  

    我们目前正在从 MSP-ti/Zephyr 存储库迁移到 TexasInstruments/MSP-Zephyr。  

    抱歉、与我们的内部团队沟通后、最好从这里开始使用 TexasInstruments/MSP-Zephyr 构建、因为它具有“稳定“分支、其中应包括 MSP-ti/Zephyr git 中断开的开发构建中的所有驱动程序。 我们正在更新文档来表示这种情况、并将 MSP-ti/Zephyr git 移动到隐藏状态、这样就不会再发生此类问题。  

    所有这些都要说,  github.com/TexasInstruments/msp-zephyr 上的开发版本将是未来的最新 TI 版本。   此存储库上的开发分支是否具有您预期的所有外设?

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

    尊敬的 Tyler:

    好的、我再次查看了 TexasInstruments/MSP-Zephyr dev 分支。 这种驱动器包含 PWM/I2C、但据我所知(由器件树执行)、还缺少 SPI 和 ADC、具体可在 MSP-ti/Zephyr DEV_STABLE 中找到。 ADC 对我来说尤其重要(如果我需要确定优先级)。

    是否有任何计划在 TexasInstruments/MSP-Zephyr 上引入即将引入的 ADC (SPI)? 或者、 我是否应该查看 TexasInstruments/MSP-Zephyr 上的任何其他分支? 我试着看了几个树枝,但它看起来不像有任何这样的工作。 但我没有检查所有的分支。

    和: — 如果要使用 TexasInstruments/MSP-Zephyr - dev、应使用哪个 SDK?

     -米凯尔  

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

    嗨、Micael、

    目前、MSP-Zephyr 的开发分支上有 ADC 和 SPI 驱动程序。  https://github.com/TexasInstruments/msp-zephyr/tree/dev/drivers/spi 和 https://github.com/TexasInstruments/msp-zephyr/tree/dev/drivers/adc 都包含相关的 kconfig 和驱动程序文件。  

    但是、器件树尚未更新。 我应该在明天之前得到软件团队的回应、以便在添加该软件的时间表上作出响应。 我认为 ADC 比 SPI 更接近准备就绪、因为它似乎在 SoC 文件中进行了定义。

    此致、

    Tyler

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

    这听起来很有希望!  

    期待了解设备树可用性。 但无论如何、我认为这让我有必要重新启动该项目。  

    我应该对 TexasInstruments/MSP-Zephyr 开发分支使用哪个 SDK? 仍为 0.17.0?

    谢谢、

     Micael

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

    嗨、Micael、  

    再次感谢您的耐心。 ADC 当前位于器件树的开发分支中、位于以下位置: https://github.com/TexasInstruments/msp-zephyr/blob/dev/dts/arm/ti/mspm0/g/mspm0g350x.dtsi

    SPI 节点当前不在开发分支上、但有一个正在添加的 PR、因此我会在它们联机时对您进行更新。  

    对于位于 github.com/TexasInstruments/msp-zephyr 的开发分支、最新的 Zephyr 版本 0.17.4 适用。  

    此致、

    Tyler

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

    尊敬的 Tyler:

    谢谢! 这看起来更好 — 我刚刚完成了构建的盲。 我使用“--mr dev“选项来获取 dev 分支。  

    (本文档引用了 simplelink-Zephyr、并提到了一些难以理解的标签。 可能是过时的复制/粘贴内容?)

    无论如何,该文档还显示 xds110 不受此存储库上的 west flash 支持。 这是真的吗?

    无论如何、我不介意改用 CCS、因为我将其用于另一个工程。 但是、如何将 Zephyr 工程导入 CCS? 是否也有方法可以从 CCS 构建 Zephyr proejct? 也许有一些文档我还没有找到?

    此致、

     Micael

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

    嘿、Micael、您是否想向我指出哪一个文件说不支持 xds110? 这是 SimpleLink Academy 吗?  

    此外、我建议在 VScode 中使用 TI 的嵌入式调试程序而不是 CCS for Zephyr、以下是有关设置该程序的教程: https://dev.ti.com/tirex/explore/content/simplelink_academy_for_low_power_f3_sdk_9_12_00_00/_build_simplelink_academy_for_low_power_f3_sdk_9_12_00_00/source/zephyr/cc23xx_zephyr_debug.html#installing-the-ti-embedded-debug-for-vs-code-extension-and-its-dependencies

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

     https://github.com/TexasInstruments/msp-zephyr/tree/dev

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

    尊敬的 Tyler:

    今天有一些额外的时间来尝试进一步的。  

    我听从了您的建议、将 vscode 用于 CCS。 好的、您链接到的指南非常好、但遗憾的是、我没有成功刷写 LaunchPad。

    我收到错误“错误:连接 DP 时出错:无法读取 IDR “。  我是否需要从线程开头出现故障的西闪存以某种方式复位 MCU?  或者 XDS110 的固件是否太旧或太新?

    这是我尝试启动调试过程时两个选项卡中的完整日志;


    调试控制台选项卡:


    Cortex-Debug:VSCode 调试器扩展版本 1.12.1 Git (652d042)。 用法信息: github.com/.../cortex-debug
    从/home/me/.config 或 Texas Instruments /ti-embedded-debug/arm-none-eabi-gdb/14.2.rel1.1/arm-none-eabi-objdump --syms -C -h -w /home/me/zephyrproject_mspm0g/zephyr/build/zephyr/zephyr.elf 读取符号
    从/home/me/.config 或 Texas Instruments /ti-embedded-debug/arm-none-eabi-gdb/14.2.rel1.1/arm-none-eabi-nm --defined-only -S -l -C -p /home/me/zephyrproject_mspm0g/zephyr/build/zephyr/zephyr.elf 读取符号
    启动 GDB:“/home/me/.config /arm-embedded-debug/arm-none-eabi-gdb/14.2.rel1.1/arm-none-eabi-gdb“ Texas Instruments -q --interpreinter=mi2
      重要说明:在“launch.json"中“中设置“showDevDebugOutput":“:“raw"以“以在此处查看详细的 GDB 事务。 非常有助于调试问题或报告问题
    ~ gdb-server:“tcl/port/ti-embedded-debug/openocd/1.1.1.46/bin/bin/openocd"<xmt-block0>“ Texas Instruments -c “gdb_port 50000“-c “tcl_port 50001“-c “telnet_port 50002“-s Texas Instruments “ /.config/debug/debug/openoc/openf//home/me/.config /interface/xds110.cfg /board/ti_mspm0_launchpad.cfg –1.oc/openf/-sharedf -opended/1.ocf /home/me/.vscode/extensions/marus25.cortex-debug-1.12.1/support/openocd-helpers.tcl -haref
      请检查“Terminal"选项“选项卡 (gdb-server) 以获取/home/me/.config Texas Instruments./ti-embedded-debug/openocd/1.1.1.46/bin/bin/openocd 的输出
    从 objdump 读取符号完成:时间:21 ms
    输出半径现在设置为十进制 10、十六进制 A、八进制 12。
    输入基数现在设置为十进制 10、十六进制 A、八进制 12。
    已完成从 NM 读取符号:时间:66 毫秒
    OpenOCD:gdb 服务器意外退出。 有关更多详细信息、请参见“Terminal"选项“选项卡中的 gdb-server 输出。


    “Terminal"选项“选项卡:

    [2025-12-07T10:32:25.511Z]服务器控制台调试:onBackendConnect:gdb-server 会话已连接。 您可以切换到“调试控制台“以查看 GDB 交互。
    /home/me/.config /tcl_port 50001“-c Texas Instruments “tcl_port 50001“-c “telnet_port 50002“-s “~ Texas Instruments /.config/openocd/ti-embedded-debug/debug/openocd/1.1.1.1.1/openocd//home/me/.vscode/extensions/marus25.cortex-debug-1.12.1/support/openocd-helpers.tcl -shareddf /interface/xds110.cfg -openocf /board/ti_mspm0_launchpad.cfg
    开放片上调试器 0.12.0+dev-00004-g66c4e0d8f (2025年11月19日–10:06)
    在 GNU GPL v2 下获得许可
    有关错误报告、请阅读
        openocd.org/.../bugs.html
    CDLiveWatchSetup
    警告:已配置接口、忽略
    INFO:自动选择第一个可用会话传输“SWD"。“。 要覆盖、请使用“传输选择“ “。
    警告:已选择传输“SWD"</s>“
    Cortex_m reset_config sysresetreq
    INFO:正在侦听端口 50001 中的 TCL 连接
    INFO:侦听端口 50002 的 telnet 连接
    信息:XDS110:已连接
    INFO:XDS110:VID/pid = 0451/bef3
    信息:XDS110:固件版本= 3.0.0.25
    信息:XDS110:硬件版本= 0x0028
    信息:XDS110:通过 SWD 连接到目标
    信息:XDS110:SWCLK 设置为 2500kHz
    INFO:时钟速度 10000 kHz
    错误:连接 DP 时出错:无法读取 IDR


    信息:XDS110:已断开连接
    [2025-12-07T10:32:32.438Z]服务器控制台调试:onBackendConnect:gdb-server 会话已关闭
    gdb 服务器会话已结束。 此终端将被重复使用、等待下一个会话开始...

    此致、

     Micael

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

    嗨、Micael、

    我过去遇到过一些问题、在西部闪存发生故障后、电路板基本上会锁定。 是否安装了 uniflash?

    如果没有、请安装 Uniflash、连接 LaunchPad、并在检测到它时开始按住 NRST。 开始 uniflash 会话、转至“settings and utilities“选项卡、然后使用“Mass erase auto“(批量擦除自动)。 按住 NRST、直到进度表到达 GEL 脚本、然后释放 NRST。 然后立即向下滚动并点击 factory reset auto。 这应该会使器件进入新状态。

    此外、我还研究了 XDS110 不受支持的问题、然后我在 Linux 上找到了一种权变措施、我认为它可以解决您遇到的这个问题。 我正在寻找 Windows 的解决方法。 如果您有 Linux 机器、请告诉我、我可以让您立即启动并运行。

    感谢您的耐心等待、

    Tyler

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

    尊敬的 Tyler:  

    太棒了、使用 uniflash、你的 NRST 把戏就做到了! 我现在想我已经启动并运行了调试器、现在已经很晚了、所以明天我将测试更多内容。

    我使用的是 Linux。 这将是很好的让西闪工作,但现在,有 vscode,我不会再卡住任何(我想! Slight smileμ s)。  

    此致、  

     Micael

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

    不错、很棒!  

    嗯,如果明天到来,但这不起作用,对于任何期待此主题的人来说,这是 openOCD 的变通办法:

    CD %HOMEPATH%

    Git 克隆 https://github.com/openocd-org/openocd.git

    sudo apt install libusb-1.0-dev libhidapi-dev

    光盘  

    Git 子模块更新--init --递归

    cd jimtcl

    ./configure

    制造

    sudo make install

    CD .  #Back 在克隆目录中

    sudo apt-get install libusb-1.0-dev

    ./ bootstrap #从 git 存储库生成时

    ./configure --enable-xds110 #可根据需要添加任何其他调试器

    制造

    sudo make install

    这将设置最新的 OpenOCD 分支 WEST、该分支支持 MSP LaunchPad。

    然后、每当构建时、都使用此命令(假设 zephyrproject 是 west 初始化的位置):

    cd ~/zephyrproject/zephyr

    west build -p always -b LP_mspm0g3507 -d out samples/basic/blanky

    ~flash -d out --openocd ~/openocd/openocd/openocd src --openocd-search /openocd/tcl

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

    感谢您发送编修。