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.

[参考译文] CCS/MSP430L092:在 Linux 下启动 MSP430L092调试会话时 CCS 9.3.0.00012崩溃

Guru**** 662690 points
Other Parts Discussed in Thread: MSP430L092, MSP-FET, CCSTUDIO, MSP430F5528, MSP430F2274
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/869109/ccs-msp430l092-ccs-9-3-0-00012-under-linux-crashes-when-starting-a-debug-session-for-a-msp430l092

器件型号:MSP430L092
主题中讨论的其他器件: MSP-FETCCStudioMSP430WAREMSP-TS430RGC64USBMSP430F5528MSP-FET430UIFMSP430F2274

工具/软件:Code Composer Studio

使用 Ubuntu 18.04.3 LTS 下的 CCS 9.3为 MSP430L092创建了一个项目、 MSP-TS430L092中的目标器件连接到 MSP-FET。

到目前为止启动调试会话的所有4次尝试都会导致 CCS 崩溃。

随附的文件包含使用的工程、以及:

- debug_server.log 是 CCS 崩溃时的调试服务器日志

-67796446-ebfb-140b-1b5975d9-559f5d76.dmp 是 CCS 崩溃时的转储文件

使用 minidump_stackwalk 快速查看转储文件显示崩溃是 libmsp430_emu.so + 0x4a954处的 SIGSEGV

CCS 软件版本为:

- CCS 9.3.0.00012

- 调试服务器9.3.0.1863 com.ti.ccstudio.debugserver.linux.feature.group

- TI 仿真器8.4.0.00006 com.ti.emulation.pack.linux.feature.group

- Code Composer Studio IDE MSP430 Components 9.3.0.201912041800 com.ti.ccstudio.msp430.feature.group

- TI MSP430工具链9.2.1 com.ti.msp430.build_debug.feature.group

e2e.ti.com/.../MSP430L092_5F00_read_5F00_reset_5F00_cause.zip

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

    切斯特、您好!

    感谢您提供转储文件和 DS 日志。 我将把它们发送给调试器专家进行分析。 请注意、大部分团队都在休假、因此我将在几天前为您提供更新。

    我尝试在 Ubuntu 18.04.3笔记本电脑上重现此问题、但无法使用 CCSv9.3.0和另一个 MSP430目标进行重现(因为我没有 MSP430L092可供尝试)。 希望转储文件和日志将具有调试问题所需的信息。

    感谢您的参与、祝您假期愉快

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

    [引用 user="Ki"]我尝试在我的 Ubuntu 18.04.3笔记本电脑上复制此内容、但无法使用 CCSv9.3.0和另一个 MSP430目标(因为我没有 MSP430L092可供尝试 )进行复制。问题似乎与 MSP430L092目标有关。

    在 Ubuntu 18.04.3 LTS 下安装 CCS 9.3.0后、我能够调试连接到 MSP-FET 的其他 MSP430目标;只有 MSP430L092出现 CCS 崩溃。

     在尝试使用 CCS 9.0.1、CCS 9.1.0或 CCS 9.2.0调试 MSP430L092时、在 Ubuntu 下已安装的某些其他 CCS 版本时也会出现崩溃。

    如果尝试具有以下内容的 CCS 8.3.0、则可以成功调试 MSP430L092:
    - CCS 8.3.0.00009
    - 调试服务器8.3.0.1611
    - TI 仿真器8.2.0.00004
    - Code Composer Studio IDE MSP430 Components 8.3.0.201810301800
    - TI MSP430工具链9.0.1

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

    [引用 USER="Chester Gillon">在 Ubuntu 18.04.3 LTS 下安装 CCS 9.3.0后、我能够调试连接 到 MSP-FET的其他 MSP430目标; 仅 当 MSP430L092 出现 CCS 崩溃时、才会发生此崩溃。在 Windows 10下 CCS 9.3.0不会发生此崩溃、但发现 另一个问题 CCS/MSP430L092:在 Windows 10下 CCS 9.3.0使用 MSP-FET430UIF 成功对 MSP430L092外部 SPI 映像进行编程、但不能使用 MSP-FET 进行编程

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

    切斯特-很抱歉耽误您的回答。 我仍在尝试获取要尝试的 MSP430L092目标。

    工程团队已分析了日志。 您的工作区似乎具有该调试配置的单独断点集。 此断点的属性似乎是崩溃的原因。 是否可以删除所有断点(清除"Breakpoints"视图中的所有条目)并尝试重新启动调试会话?  

    谢谢

    Ki

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

    切斯特、

    我能够在 MSP-FET S/N 1407xxxxx (根据 此标准、是旧版本)上保护这里的 L092套件(L092S 器件)。

    它在 Windows 1903和 Ubuntu 18.04.3本机使用了常用 CCSv9.3 (VMware 上的 Ubuntu 19.10不起作用)。   

    MSP-FET 在 lsusb 中正确地显示为 VID:PID 2047:0014、并且它使用 MSP430Ware 3.80.07.00中的项目 msp430x09x_TA_01进行了计算。

    那么、我不确定在这种情况下会发生什么情况。  

    此致、

    拉斐尔

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

    Ki 说:
    此断点的属性似乎是崩溃的原因。 [/报价]感谢您提供的信息。 我将在下一个周末再次尝试、届时、我将访问 MSP430L092目标以及具有发现问题所在工作区的 PC。

    由于 CCS 崩溃、我是否应该尝试并确定哪个断点触发崩溃(如果从日志中看不到该断点)?

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

    Chester Gillon 说:
    由于 CCS 崩溃,我是否应该尝试并确定触发崩溃的断点(如果日志中看不到该断点)?

    它似乎是具有特定触发类型(寄存器触发器)的断点、不再有效/受支持...  

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

    Ki 说:
    此断点的属性似乎是崩溃的原因。 是否可以删除所有断点(清除"Breakpoints"视图中的所有条目)并尝试重新启动调试会话?  

    我发现、最初发生崩溃的工作区中设置了"Stack Overflow"、这导致 CCS 在尝试启动 MSP430L092的调试会话时崩溃。 在启动与 MSP430L092目标的调试会话时、以下任一操作可防止崩溃:

    a.在启动调试会话之前禁用"堆栈溢出中断"。

    b.删除所有断点。

    [引用 USER="Chester Gillon">由于 CCS 崩溃、我是否应该尝试确定触发崩溃的断点(如果日志中看不到该断点)?当为 MSP430L092目标运行调试会话时、CCS 不允许设置"堆栈溢出中断"、 因为 MSP430L092中的 EEM 大概不支持。

    由于发生 CCS 崩溃、以下序列可以使用 Ubuntu 18.04.3 LTS 下的 CCS 9.3.0可靠地重复该故障:

    1.创建新的 CCS 工作区,并从 https://github.com/Chester-Gillon/E2E_example_projects 导入以下项目 :

    a. MSP430F5528_Blinky_filled_flash:适用于 MSP-TS430RGC64USB 中的 MSP430F5528。 使用 MSP-FET 进行调试。

    b. MSP430L092_blinky_Duty_cycle:适用于 MSP-TS430L092中的 MSP430L092。 使用 MSP-FET430UIF 进行调试。

    2.连接 MSP430F5528、并启动 MSP430F5528_blinky_fill_flash 的调试会话。 当程序到达主程序时、设置一个"堆栈溢出中断"、其默认值为:

    它创建了以下断点:

    程序成功运行、不会触发堆栈溢出断点。

    3.终止调试会话,然后重新启动 CCS,以使上面设置的断点存储在工作区设置中(因为 CCS 崩溃时不会存储这些设置)。

    4.断开 MSP430F5528目标、并连接 MSP430L092目标。

    5.启动 MSP430L092_blinky_Duty_cycle 的调试会话,CCS 在到达 main 之前崩溃。

    6.崩溃后,启动 CCS。 打开 Debug 透视图并在 Breakpoints 视图中禁用"Break on Stack Overflow"。  为 MSP430L092_blinky_Duty_cycle 启动调试会话、程序到达 main。

    在 Breakpoints 视图中启用"Break on Stack Overflow"、这会导致 CCS 崩溃。

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

    [引用 user="Chester Gillon">由于发生 CCS 崩溃、因此以下序列可以使用 以上序列使用 Ubuntu 18.04.3 LTS 下的 CCS 9.3.0可靠地重复该故障[/quot]、现在我还可以在 Windows 10 Pro 下使用 CCS 9.3.0获得崩溃。 随附的 zip 文件包含上述序列步骤5中崩溃后的调试服务器日志和.dmp 文件。

    在 Microsoft Visual Studio 报告中打开.dmp 文件:

    [引用] 479b7ceb-d956-4a62-a541-6c43dd0a16F1.dmp 中0x00007FF99B0DDF2C (MSP430_emu.dvr)上的未处理异常:0xc0000005:写入位置0x000000000014的访问冲突。 发生[/报价]

    e2e.ti.com/.../MSP430L092_5F00_CCS930_5F00_crash.zip

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

    [引用 user="Chester Gillon"]我发现最初发生崩溃的工作区中设置了"堆栈溢出中断"、这会导致 CCS 在尝试启动 MSP430L092的调试会话时崩溃

    谢谢切斯特。 它必须是某种回归、因为它适用于 CCSv8.3。 这里看起来有两个问题-触发器类型不再受支持并且 CCS 崩溃。 我们将尝试在本地重现这些错误并为其归档。

    谢谢

    Ki

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

    切斯特、

    我能够在 Windows 10内部版本1903上完全重现此问题。  

    我尝试在 Ubuntu 18.04.3上重现此问题、但我找不到我的 UIF POD (正如您在其他地方发布的、MSP-FET 未连接到此操作系统上的 L092)。  

    在这种情况下、我也会将此问题告知 MSP 工具团队-可能来自接口或驱动程序。  

    给您带来的不便、我深表歉意、

    拉斐尔

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

    [引用 user="Chester Gillon">我发现最初发生崩溃的工作区中设置了"堆栈溢出中断"、这会导致 CCS 在尝试启动 MSP430L092的调试会话时崩溃。 在 CCS 9.3设置了"堆栈溢出中断"的工作区中、我还发现 CCS 在尝试启动 MSP430F2274调试会话时崩溃。

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

    [引用 user="desouza)]我尝试在 Ubuntu 18.04.3上重现此问题、但我找不到我的 UIF POD (正如您在其他地方发布的那样、 MSP-FET 未连接到此操作系统上的 L092)。  为了澄清一下、我现在在 Windows 10 Pro 和 Ubuntu 18.04.3下看到 CCS 9.3的相同行为、即确保在启动 MSP430L092调试会话(此主题)之前工作区中未设置"堆栈溢出中断"。

    行为是:

    答:使用 MSP-FET 和 MSP-FET430UIF、可以成功地将程序下载到 MSP430L092的 RAM 中。

    b.通过 MSP-FET430UIF、可以成功使用"程序加载后将应用程序复制到外部 SPI 存储器"将下载的程序存储到外部 SPI 存储器中。

    c.在 MSP-FET 尝试使用 "程序加载后将应用程序复制到外部 SPI 存储器"时、会导致外部 SPI 存储器的映像损坏;这会导致 ROM 中的 MSP430L092加载程序显示"错误闪烁"。 这是 https://e2e.ti.com/support/microcontrollers/msp430/f/166/p/869319/3230870#3230870 线程的主题。

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

    [引用 user="Chester Gillon"]在 设置了"堆栈溢出中断"的工作区中,CCS 9.3时,我还发现尝试启动 MSP430F2274调试会话时 CCS 崩溃

    是的、我可以使用 F2274复制此内容。 我也在 CCSv8.3和 CCSv7.4中复制了。 因此、该错误已经存在了一段时间。

    问题在于、某些器件支持"寄存器写入"触发类型、而其他器件不支持。 如果调试器尝试为不支持该功能的器件应用具有"寄存器写入"触发类型的现有观察点/断点、调试器会崩溃。

    我为此提交了一个错误。 跟踪 ID 为 EXT_CCBT-3。  

    谢谢

    Ki