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.

[参考译文] LP-MSPM0G3507:使用 Zephyr 的 ti dev -如何?

Guru**** 2450140 points
Other Parts Discussed in Thread: LP-MSPM0L1306, MSPM0G3507, MSPM0L1306, LP-MSPM0G3507

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1472011/lp-mspm0g3507-using-ti-dev-git-of-zephyr---how

器件型号:LP-MSPM0G3507
主题中讨论的其他器件:MSPM0G3507MSPM0L1306、LP-MSPM0L1306

工具与软件:

因此、我将开始在 Git 中使用适用于 MSPM0G3507的 ti dev fork。 是否有某种类型的文档,或指示在某个地方为 Zephyr/west newbies ?

我已经安装了主 Zephyr 功能、以及建议的~ë/Zephyrproject 路径。

我已将 Zephyr-mspm0_dev_stable 移至这里、因此我有两个 Zephyr 子目录。

使用例如"west -z Zephyr-mspm0_dev_stable boards"不会剪切它。

如果我从编辑.westice/config

[清单]
路径= Zephyr
文件= weste.yml

[泽菲尔]
Base = Zephyr.

最终目的

[清单]
路径= Zephyr-mspm0_dev_stable
文件= weste.yml

[泽菲尔]
base = Zephyr-mspm0_dev_stable

 然后运行 Westboard、会出现错误

错误:未找到 soc 'spm0l222x'、请确保 soc 存在并已正确定义包含'spm0l222x'的 soc-root。

因此、我想这也不是实现它的方法。

感谢任何建议!

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

    您好、感谢您问这个问题! 我建议您将其作为 Zephyr 的快速入门指南: https://docs.zephyrproject.org/latest/develop/getting_started/index.html

    此外、您要使用什么操作系统进行开发?

    -Brian

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

    您好!

    正如我所写的那样,我已经完全安装了 Zephyr (我现在已经切换到 STM32,现在开始我的项目)。 我的问题是如何改用 TI 分叉。 如果可能、我的主要决定是尝试将 MSPM0G3507用于该项目。

    由于 MSPM0G3507不在主线中、因此需要 TI 分叉。

    我假设我可以并行执行、如上所述、但我不理解如何进行实际切换。 更改.westice/config 是否正确、如果是、为什么会出现此错误? 因此,我想这不是它的目的。

    我使用的是 Linux。

    谢谢

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

    对于新的 Zephyr 安装、只需删除整个 Zephyr 文件夹、克隆 ti fork、然后签出分支。

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

    好的,这不是如何做到,根据 Zephyr 的文档,但我尝试了它。 同样的问题。 因此也许 TI fork 与较新版本的 Zephyr 安装不兼容、或者在 TI fork 中有错误。

    我想我可以尝试将所有与 mspm0g3507相关的文件同步链接到官方存储库中、看看它是否起作用。 我将在本周晚些时候尝试、或者在最坏的情况下选择另一个 MCU。 但这将是一个遗憾,因为 mspm0g3507完美符合法案.

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

    您是否还完成了这些步骤来启动和运行 Zephyr+ M0?

    cd ~/zephyrproject
    git clone https://<your_token>@github.com/msp-ti/zephyr.git
    cd modules/hal
    git clone https://<your_token>@github.com/msp-ti/hal_ti.git ti
    
    
    cd ~/zephyrproject/zephyr
    git checkout mspm0_upstream
    cd ~/zephyrproject/modules/hal/ti
    git checkout remotes/origin/mspm0_upstream
    
    cd ~/zephyrproject/zephyr
    west build -p always -b lp_mspm0g3507 samples/basic/blinky

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

    好吧,我试着跟踪你最后的 git 东西,但目录结构不匹配,所以我不是100%肯定我得到了一切。  (例如、在我的设置中没有模块/hal/、只有模块/hal_Nordic、hal_st 等 然而,我现在可以建设,闪烁,但当我运行西闪,它失败。

    我得到了复制故障线路并自行执行

    $/home/m/zephyr-sdk-0.17.0/sysroots/x86_64-pokysdk-linux/usr/bin/openocd -s /home/m/zephyrproject_msp0g/zephyr/boards/ti/lp_mspm0g3507/support -s /home/m/zephyr-sd
    k-0.17.0/sysroots/x86_64-pokysdk-linux/usr/share/openocd/scripts -f /home/m/zephyrproject_msp0g/zephyr/boards/ti/lp_mspm0g3507/support/openocd.cfg '-c init''-c targets'-c 'resset init'-c targets'-c 'reset init'-c 'flash write_image erase /home/m/zephyrproject_msp0g/zephyr/build/zephyr/zephyr.hex -c 'reset run'-c shutdown
    OPEN On-Chip Debugger 0.11.0+DEV-00728-gb6f95a16c-dirty (2024年10月20日01:26)
    获得 GNU GPL v2许可
    有关错误报告、请参阅
           openocd.org/.../bugs.html
    /home/m/zephyrproject_msp0g/zephyr/boards/ti/lp_mspm0g3507/support/openocd.cfg:4:错误:找不到目标/ ti_mspm0.cfg
    程序中"脚本"  
    在文件"embedded:startup.tcl"、第26行
    位于文件/home/m/zephyrproject_msp0g/zephyr/boards/ti/lp_mspm0g3507/support/openocd.cfg 第4行

    ti_mspm0.cfg 不是我的文件系统中的文件。 它是否应该生成、或者它是否可从某个 git 存储库获得?

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

    好的、接下来让我们确保我们具有 M0的所有功能。 您能看到您的 openocd.cfg 中是否包含以下内容吗

    # TI MSPM0L1306 LaunchPad Evaluation Kit
    # https://www.ti.com/tool/LP-MSPM0L1306
    # TI MSPM0G3507 LaunchPad Evaluation Kit
    # https://www.ti.com/tool/LP-MSPM0G3507
    #
     
    source [find interface/xds110.cfg]
    adapter speed 10000
    transport select swd
    source [find target/ti_mspm0.cfg]

    --------------------------------------------------------

    并且这是在你的 board.cmake 中的某个位置:

    # SPDX-License-Identifier: Apache-2.0
     
    board_runner_args(openocd "--cmd-pre-load=reset init")
    # unprotect sectors before running
    board_runner_args(openocd "--cmd-pre-load=flash protect 1 0 last off")
    board_runner_args(openocd "--cmd-pre-load=flash erase_sector 1 0 last")
     
    include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、我的 openocd.cfg 只包含"transport select SWD"行。

    我的 board.cmake 仅包含最后的 include。

    添加缺失的行后、我重新构建了、但 West Flash 仍然报告相同的错误。

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

    所以,今天,我决定再次从头开始。 超级划伤-在另一台计算机上。 我完全找到了关于西闪存的相同问题、即缺少 ti_mspm0.cfg。

    另外、在这台计算机上、找不到它。

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

    如果您可以正常使用、也许您可以在此处发布文件内容? 或上传到某个位置?
    您应该可以在此目录中找到它;

    ~ë/Zephyr-sdk-0.17.0/sysroots/x86_64-pokysdk-linux/usr/share/openocd/scripts/target/

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

    您好!


    我意识到、您要求我使用的分支已经很旧了、并且不支持大多数 mspm0g3507器件。 您建议使用该方法的原因是否存在? 例如、i2c、SPI、CAN、adc 在 mspm0_上游 分支中不可用、因此大多是无法使用的分支。

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

    我想我们这边有一个问题、尝试再次拔出、看看这是否能解决问题。

    -Brian

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

    所以、这基本上是无用的? 我的意思是、mspm0g3507的任何内部器件都不支持工作、构建它的唯一方法是查看仅提供 GPIO 支持和 UART 的石膏时代版本。

    而且、即使这样做(石材时代、没有任何器件支持)、仍然无法将其刷写到电路板上。

    真是浪费时间。  

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

    除了 GPIO 和 UART、对外设的支持肯定更多。 当然需要 hal/ti、因此如果目录中缺失、这很可能是您看不到 G3507外设支持的原因。 您是否可以重试将存储库克隆到相应的目录中?

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

     现在您在谈论的是旧的 mspm0_上游 还是 mspm0_dev_stable?

    mspm0_upstream、您刚才从 git 中推荐的一个;

    标识符:lp_mspm0g3507
    名称:LP_MSPM0G3507
    类型:MCU
    Arch:臂
    工具链:
     - Zephyr
     - gnuarmemb.
     - xtools
    RAM:32
    闪存:128
    支持的:
     - GPIO
     - pinctrl
     - UART
    供应商:TI

    mspm0_dev_stable 还有更多、但您说它存在问题、在我测试时、它不会构建、从而确认您的陈述已损坏。

    他们中没有一个有正在工作的西闪,因为他们缺少前面提到的文件。 由于您无法将其发射出来、并且它应该位于 SDK 中、因此我必须等待新的 SDK 送达、并希望它能够送达。 对吧?

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

    是的、我在 msp上游 误导了、我是指 mspm0_dev_stable。  在我们这边进行修复后、您是否尝试过再次从 mspm0_dev_stable 中提取它?  

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

    是的、现在、Blinky 也在 mspm0_dev_stable 上构建。 太棒了!

    因此、现在可能只缺少 ti_mspm0.cfg、可以刷写器件(查看它实际上正在工作)在这里停止进度。

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

    很高兴听到它现在已成功编译。 我仍然不确定 ti_mspm0.cfg 为什么会缺失。 让我在内部进行讨论、一旦我为您提供了潜在的解决方案、我将与您联系。

    -Brian

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

    Brian、您好!

    有相关新闻吗? 我在某个地方看到了 TI 正在考虑/打算(?) 支持在 CCS 中进行编程/调试?

    这是否可以成为前进的道路? 我正在切换到 STM 零件、但我已经投资了 mspm0、所以理想情况下您有一个解决方案。

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

    您好、在内部讨论此问题之后、您可以尝试以下方法来解决此问题:

    1. 从初始存储库克隆 openOCD: https://github.com/nmenon/openocd/commits/mspm0
      1. Git: https://github.com/nmenon/openocd.git  
      2. 分支:mspm0
    2. 转到文件夹并运行:

      cd <cloned_OPENOCD_dir>
      ./bootstrap (when building from the git repository)
      ./configure --enable-xds110
      make
      sudo make install
    3. 如果使用新器件、则需要将以下文件添加到 Zephyr/boards/arm/lp_mspm0xxxxx

      board.cmake
      # SPDX-License-Identifier: Apache-2.0
       
      include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
      支持/ openocd.cfg
      # SPDX-License-Identifier: GPL-2.0-or-later
      # Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
      #
      # TI MSPM0L1306 LaunchPad Evaluation Kit
      # https://www.ti.com/tool/LP-MSPM0L1306
      # TI MSPM0G3507 LaunchPad Evaluation Kit
      # https://www.ti.com/tool/LP-MSPM0G3507
      #
       
      source [find interface/xds110.cfg]
      adapter speed 10000
       
      source [find target/ti_mspm0.cfg]
    4. 在 Zephyr 分支中、运行以下命令来闪存器件(假定已经构建示例)

      west flash --openocd <cloned_OPENOCD_dir>/src/openocd --openocd-search <cloned_OPENOCD_dir>/tcl/