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-MSPM0G3519:关于 LP-MSPM0G3519 电路板闪存区域中的软件执行代码

Guru**** 2534640 points
Other Parts Discussed in Thread: LP-MSPM0G3519, MSPM0G3519

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1549732/lp-mspm0g3519-regarding-software-code-execution-in-flash-area-of-lp-mspm0g3519-board

器件型号:LP-MSPM0G3519
主题: MSPM0G3519 中讨论的其他器件

工具/软件:

您好团队:

我们使用的是 MCAL:MCAL MSPM0_00.02.04.00 软件包

SDK: mspm0_sdk_2_04_00_06 版本

访问  LP-MSPM0G3519 电路板的闪存区域时面临问题。 我们的软件代码执行在闪存区域中未成功。

因此、我们想知道、在访问闪存区域时是否需要考虑任何先决条件。

我们还提到了 MCAL 示例、但 Autosar OS 软件在闪存区域执行失败

您能不能告知我们可以在  LP-MSPM0G3519 电路板中使用多少闪存和 SRAM? 我们还需要将异常表或复位向量放置在哪里?

谢谢你。

此致、

Pradeep R

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

    您好 Pradeep、

    对于 MSPM0G3519 的闪存和 SRAM 映射、您可以参阅  MSPM0G351x 具有 CAN-FD 接口的混合信号微控制器数据表(修订版 A)中的 8.8 存储器章节。 总的来说、MSPM0G3519 提供 128KB SRAM 和 512KB。

    对于中断矢量表、soc 如果您使用的是 ticlang 编译器、则在 MSPM0 MCAL 示例的 startup_ticlang.c 文件 (\mcal\examples\adc\pc\pw351x\m0plus\startup_ticlang.c) 中定义了中断矢量表。 只需注意这些外设中断处理程序矢量已在相应的 MCAL 模块源代码中使用。

    对于闪存中程序执行失败的问题、遇到了哪种问题? 下载程序时 ECC 错误、硬故障或闪存数据不正确?

    此致、

    Pengfei

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能告诉我们我们可以在  LP-MSPM0G3519 电路板中使用多少闪存和 SRAM? 我们还需要将异常表或复位向量放置在何处?

    在 Arm cortex M0 内核中、中断 向量表放置在 0x0 地址(M0 闪存中的起始地址)处

    您能告诉我们我们可以在  LP-MSPM0G3519 电路板中使用多少闪存和 SRAM? 另外、我们需要在何处放置异常表或复位矢量?
    对于 MSPM0G3519 的闪存和 SRAM 映射、您可以参阅  具有 CAN-FD 接口的 MSPM0G351x 混合信号微控制器数据表(修订版 A)中的 8.8 存储器章节。总之、MSPM0G3519 提供 128KB SRAM 和 512KB。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Helic、

    请查找 MOM、参加于 06-08-2025 年举行的调试会议。

    1、任何写入闪存的尝试都会导致“闪存擦除错误“。

    在调试调用期间、我们一起检查并将二进制文件写入内部闪存。 但不能成功。
    已通过 TRACE32 命令手动进行闪存检测->与上述观察结果相同。

    请从 tarce32 和我们用于上传二进制文件的 cmm 脚本中找到附加的错误片段。

    ------------------------------------------------------------------------------------------------
    ;@标题:TI LaunchPad MSPM0(闪存)上 MSPM0GX51X 的演示脚本
    ;μ@芯片:MSPM0GX51X
    ------------------------------------------------------------------------------------------------


    WinCLEAR

    条目表 (&E)
    如果“&elffile"=""</s>“ ““
    (
    &elffile=“./../../output/bin /*。elf“
    )

    --------------------------------------------------------------------------------------------
    ;初始化并启动调试器
    复位
    SYSTEM.CPU MSPM0G3519
    SYSTEM.CONFIG.DEBUGOPRTTYPE SWD
    System. Option 双端口打开
    System.MemAccess DAP
    SYSTEM.UP

    data.set 0x20000000 -–0x2000FFFF %Word 0x0

    等待 5.s
    --------------------------------------------------------------------------------------------
    ;闪存编程

    ;准备闪存编程(声明)
    请~~/demo/arm/flash/mspm0.cmm PREPAREONLY

    ;重新编程闪存
    全部刷写。重新编程
    data.load.Elf “&elffile"</s>“
    闪存重新编程关闭

    --------------------------------------------------------------------------------------------
    ;再次重置目标
    SYSTEM.UP

    --------------------------------------------------------------------------------------------
    ;启动程序执行
    Register.Set PC boardResetStart
    ;等待!State.run()

    ENDDO

    如上所述、请咨询您的内部团队、并尽快告知我们可能的解决方案、因为此问题完全阻止了我们。

    此致、

    Manjunath B

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

    我来检查一下~

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

    这是恢复出厂设置步骤的示例、这将擦除所有闪存、包括非主存储器(复位至默认值)

    e2e.ti.com/.../dssmFactoryReset.py

    请尝试此操作以查看我们是否可以成功擦除闪存。

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

    如您上次会议所述、TI 已经提供了一些第三方工具支持、这些工具与您的工具兼容、您可以向我展示第三方合作伙伴的名称。

    请您再次向我展示、我想在内部进行检查、看看我们是否有一些材料来支持相同的东西。

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

    您好、Helic、

    当天的问候。

    请在下面找到我的答案

    如您上次会议所述、TI 已经提供了一些第三方工具支持、这些工具与您的工具兼容、您可以向我展示第三方合作伙伴的名称。
    “我想我们这里有一些误用,据我们所知,除了 Trace32 调试器之外,我们没有提到任何第三方工具。
    -->我们在 CI/CD 环境中仅使用 Trace32 调试器、无法为基于 TI 的 CCS 调试器迁移完整的 DevOps。
    -->使用 Trace32 调试器、我们可以对代码进行编程、但在闪存上的代码是不能成功的。
    -->我们提到、我们在互联网上研究了启用闪存和允许编程的问题、我们需要一些“固件“、因此我们需要您的输入。

    请您再次向我展示、我想在内部进行检查、看看我们是否有一些材料来支持相同的东西。
    -->我们提到、我们收到了一封来自您同事的邮件、其中指向 www.ti.com/.../slaaeo5.pdf 页面、该页面详细介绍了闪存驱动程序的实施。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    -->借助 Trace32 调试器、我们可以对代码进行编程、但我们在闪存中的代码是一样的、因此无法成功。

    您这边显示的错误是闪存擦除错误。

    因此需要运行恢复出厂设置来擦除所有扇区。

    -->据我们所知、我们没有提及除 Trace32 调试器之外的任何第三方工具。

    也许不是调试器、但您向我展示了已经有一些工具支持此类功能。

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

    -->使用 Trace32 调试器、我们可以对代码进行编程、但在闪存上的代码是不能成功的。
    您这边显示的错误是闪存擦除错误。
    -->是的、当通过 TRace32 闪烁时、我们有“闪存擦除错误“。

    因此需要运行恢复出厂设置来擦除所有扇区。
    -->您能否分享有关恢复出厂设置的更多信息或任何文档如何安全恢复出厂设置“

    也许不是调试器、但您向我展示了已经有一些工具支持此类功能。
    -->好的、但除了 trace32 之外、没有使用其他工具。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    -->您能否分享有关恢复出厂设置或任何文档如何安全恢复出厂设置的更多信息“

    我共享的 Python 是出厂步骤。

    -->好的、但不使用任何其他工具、除了 trace32。

    好的、好的、我记得您给我展示了一些名称、说这个名称工具也受 TI 支持、应该有一些基于这个名称的工具的内部 EMM 文件支持。

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

    好的、好的、我记得您给我展示了一些名称、说这个名称工具也受 TI 支持、应该有一些基于这个名称的工具的内部 EMM 文件支持。
    --> TI 正在使用 Code Composer Studio。
    我共享的 Python 是出厂步骤。
    -->共享 python 作为一些模糊的引用
    例如 1. DEBUGPORT.APS[AHB_AP_ADDR]行号 49 -> AP 的基地址是多少
    2.#打开会话行号 74 和 75
    #todo:在 flm_region_builder.py 中、在_add_flash_subsecondaries () 中删除权变措施一次-> flm_region_builder.py 的含义

    3. dp = target.dp 行号 82 ->您是否在此处读取调试端口类型信息?

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

    我来内部检查一下。

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

    你好、 齐赫里克 、

    是否可以将 Trace32 相关专家加入到今天的通话中?

    谢谢、

    Senthil Kumar P R

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

    您好、

    对于工具链专家来说、他今天的电话不能接听。

    我们正在尝试在内部找到一些相关的 CMM 脚本文件。

    由于我们这边没有调试器硬件、我们是否可以向您提供相关材料或脚本并进一步进行测试?

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

    你好、 齐赫里克 、

    请您准备必要的材料和脚本、以及我们如何在端部安装调试器和硬件、以便我们可以在今天的通话中试用。 如果一些工具链专家也加入我们今天的通话、这样我们就可以结束通话、因为我们将在下周交付给客户、在未来一周、我们需要提供可编程到闪存中的软件。

    谢谢、

    Senthil Kumar P R

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

    可能无法在今天的会议上提供材料。

    工具链专家位于美国、会议时间不适合他。

    他也需要一些时间,至少在今晚(亚洲时间)获得相关资料。

    我将尝试仔细监测进展情况。

    感谢您的耐心。

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

    你好 Senthil Kumar P R ,

    关于您的问题、您是否可以  在器件初始化开始时将命令 flash.UNSECUREERASE 插入到 CMM 脚本中? 这应该会执行恢复出厂设置序列来清理器件。

    我正在与 Lauterbach 并行讨论、以帮助调查此问题。

    谢谢 您、

    Henry Nguyen

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

     你好 Senthil Kumar P R Pradeep R ,

    顺便说一下、也是在 80MHz 上运行的 MSPM0G3519 器件。 当 CPU 以 32MHz 或更低的较低频率运行时、仍然会出现问题吗?

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

    您好 Henry:  

    我尝试使用命令擦除和恢复闪存出厂设置FLASH.UNSECUREerase。 不过,我们现在面临另一个问题 — 器件显示“未知调试端口超时“错误、我们无法再访问它。 我们还尝试恢复到 SRAM 编程、但也遇到了相同的问题。 此时、我们无法刷写闪存或 SRAM。 看起来我们现在完全被阻止了。

    谢谢您、

    Manjunath Bhavimani.

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

    尊敬的 Manjunath:

     即使在电路板下电上电后也会观察到这种情况?

     执行恢复出厂设置后 、通常建议执行下电上电。

    谢谢您、

    Henry Nguyen

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

    e2e.ti.com/.../Register_5F00_dump.txt

    您好 Henry:

    以 32MHz 的频率运行。 请找到随附的寄存器转储文件以供您参考。

    谢谢您、

    Manjunath Bhavimani

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

    您好 Henry:

    是的、我们在擦除后进行了下电上电。

    谢谢你

    Manjunath Bhavimani

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

    尊敬的 Manjunath:

    我收到了 Lauterbach 对该 情况的回复、您能否提供有关您使用哪个版本的工具的详细信息?

    在他们这边、他们能够观察闪存操作和恢复出厂设置执行、而不会出现任何问题、这让我认为这可能与工具本身的版本有关。

    谢谢您、

    Henry Nguyen

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

    您好 Henry:

    我们使用以下版本的 T32  

    每晚生成
    软件版本:N.2025.01.000176012
    内部版本:176012。
    编译日期:2025 年 1 月 17 日 (04:36:02Z)

    您能否告诉我们 Lauterbach 正在使用哪个版本的 T32 软件、如果可能、请与我们共享经过测试的 CMM、以便我们不会再损坏一个器件。

    注意:我们尝试在多次下电上电后连接电路板、 由于前面提到的星期四上的“未知调试端口超时“问题、现在无法连接到 LP 板。 是否有办法恢复此电路板?

    此致、

    Manjunath Bhavimani

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

    嗨、 Manjunath、我当前正在等待 Lauterbach 团队的响应、但他们知道这是紧急的。

    具体建议。 它应该在顶部有一个 xds110、请利用它连接到 CCS 并利用恢复出厂设置序列。

    https://dev.ti.com/tirex/explore/node?node=A__ANk2FOM4WUAtKZQLHOjtNw__MSPM0-SDK__a3PaaoK__LATEST

    本联机文档中包含有关如何在设备上执行顺序的步骤。

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

    尊敬的 Manjunath:

    请参阅 Lauterbach 提供的下载

    这是您请求的 TRACE32 软件更新。 
     
     
    输入: 
    -此 TRACE32 软件版本需要一个涵盖 08/2025 的许可密钥(含软件维护合同)。 
    -请使用 TRACE32 命令 LICENSE.List 或 LICENSE.STATE 进行检查。 
    -有关详细的许可和安装信息、请参阅此更新中包含的 readme.txt。 
    -这是一个更新,而不是一个完整的安装。 
     
    此更新有效期为 10 天、可从此处下载: 
    https://www.lauterbach.com/support/trace32_n_2025_08_000182980_arm_full_20250818153210.zip
    密码为:vy9Qmpce2sSf 
     
     
    安装说明: 
    1.关闭所有 TRACE32 实例 
    2.备份现有的 TRACE32 安装 
    3.将更新归档文件解压到 TRACE32 安装目录(例如 C:\T32)中、以覆盖现有文件 
    4.照常启动 TRACE32 
    有关更多详细信息、请参阅 https://www.lauterbach.com/pdf/updates.pdf
     
    下载后请告诉我、以便我可以删除此特定消息。
     
    注意: 
    临时软件版本应替换为下一个正式软件版本。 
    在 TRACE32 软件经过密集的测试阶段后、发布版本每年生产两次。 
    发行版本通常涵盖在发行分支之前完成的临时版本的所有更改。 
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Henry:

    感谢您共享 Lauterbach 的补丁。  

    我们试用了最新的 Trace32 补丁、现在我们能够在闪存上刷写 elf 并成功运行代码。

    但是、第一次刷写后、当我们尝试刷新新的 elf 时、我们面临以下错误。 只有在使用 trace32 GUI 手动运行 flash.Erase all 命令后、才能刷写新的 elf。 如果我们通过 CMM 脚本尝试相同的命令、则 elf 的擦除和加载会失败、如下所示。

    在 CCS 中也会观察到类似的行为。 我们的 CI/CD 自动化要求,从 CMM 脚本刷新。 无需手动干预。 请建议是否可以通过 CMM 脚本实现这一点

    此致、

    Manjunath Bhavimani  

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

    尊敬的 Manjunath:

    很抱歉、由于回复太晚、我已就此主题联系过他们。 将在收到响应后尽快更新您。

    谢谢您、

     Henry Nguyen