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/MSP432P401M:在MSP432P401M中加载程序时出错

Guru**** 2532370 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/574203/ccs-msp432p401m-error-in-loading-the-program-in-msp432p401m

部件号:MSP432P401M
主题中讨论的其他部件: MSP432P401R

工具/软件:Code Composer Studio

您好,

我有XDS 100V2 JTAG连接器,并且我正在使用自己的MSP432P401M板。  

我在调试过程中收到此错误,加载程序时出错:-

Cortex_M4_0:闪存编程器:读取硬件版本失败。
Cortex_M4_0:不再支持您的XMS432P401R材料。 我们建议您通过在www.ti.com/product/MSP432P401R上订购样品,转向生产质量的MSP432P401R/M芯片。
Cortex_M4_0:文件加载器:内存写入失败:未知错误
Cortex_M4_0:GEL:文件:C:\Users\Nikhil Bapit\workspace_v7\inclinometer1\Debug\inclinometer1.out:加载失败。

我已经检查了“MSP432 Launchpad用户指南-出厂重置脚本”,它显示我的xds100v2已成功连接。

请帮助我解决这个问题。

谨致问候

Sayali Pathak

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

    Sayali和我一起参与这个项目。

    另外,我们设计的MSP432板使用48 MHz晶体。 我们从MSP软件的示例开始,它一直在工作。 我们能够看到寄存器值以反映ADC处的电压输入。 添加48 MHz的代码时,此错误开始显示。 我们在两台不同的计算机和不同的CCS版本上试用了它,但它仍然是相同的。

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

    Sayali

    我很好奇,因为有人说在添加48 MHz的代码时出现了错误,您是否也更改了闪存等待状态和Vcore?  请告诉我 上 一篇E2E文章中的信息是否有帮助: 单击此处。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,Sayali,Nikhil,
    XMS432P401是预生产的硅芯片,自我们现在拥有以来,其支持已停止
    生产版本MSP432P401R。 有关差异的详细信息,请参阅以下链接。

    processors.wiki.ti.com/.../XMS432_Support

    如果可能,我建议您将定制板上的部件切换掉。 (是的,我知道可以
    痛苦,但它应该可以为您节省许多麻烦)。

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

    我直接从TI订购了MCU,它显示为MSP432P401M Rev C

    这是最有趣的事情。 我们使用的是M版本,而不是R版本。代码中的链接器和其他文件也适用于M,它以前工作过。

    我正在使用CCSv 7。 在“帮助->安装详细信息”中,我只能看到MSP432工具链。 我看不到MSP432仿真器。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    John,

    当我添加48 MHz的代码时,我只将以下行添加到主代码中:

        //将DCO配置为48MHz,确保MCLK使用DCO作为源

        CS->key = CS_KEY_VAL;          //解锁CS模块以访问寄存器

        CS->CTL0 = 0;              //重置调整参数

        CS->CTL0 = CS_CTL0_DCORSEL_5;      //将DCO设置为48MHz

        CS->CTL1 =(CS->CTL1 &~(CS_CTL1_SELM_MASK | CS_CTL1_DIVM_MASK)| CS_CTL1_SELM_3; //选择MCLK = DCO,无分隔符

        CS->键= 0;               //锁定CS模块以避免意外访问

    我在此处附加reference.e2e.ti.com/.../6471.main.c的main.c文件

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

    您好,


    您似乎遇到了与 线程中所述相同的问题。

    系统处于VCORE1且闪存等待状态设置为1对于设备以48Mhz工作非常重要。

    当设备中运行配置错误时钟的代码时,调试程序读取设备信息时出现问题,从而导致所述的错误。

    此致,


    Thorsten

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

    Nikhil,

    您似乎尚未更改VCORE或Flash Wait状态。  现在我看到您正在使用寄存器级编程,请参考以下 设置48MHz DCO的示例代码。

    我认为这应该能为您澄清问题,但如果您有任何其他问题,请告诉我。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的,这有点奇怪,但至少你在使用生产硅,所以你不必担心这些差异。
    从该线程的其余部分来看,似乎也存在其他问题。 我想John正在这里讨论真正的问题。
    如果您在修复Vcore设置后再次看到调试器错误,请告诉我们。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    John,
    我已导入您提供的示例代码。调试时仍显示相同的错误。 我在msp432设置中选择出厂重置并调试代码,但错误相同。我将擦除我准备的代码。能否告诉我擦除代码的步骤??
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我正在按照以下步骤将启动板恢复出厂设置

    1.将出现故障的LaunchPad/设备连接到您的PC。
    2.打开CCS,假定您已经打开了至少一个MSP432项目。
    3.转至视图>目标配置。
    4.在“目标配置”中,导航至MSP432项目>.CCXML文件。
    5.右键单击>启动配置
    6.在“调试”窗口下,您现在应该看到一些以.ccmxl文件为根> something_tex_m4_something (未知)开始的树结构
    7.右键单击>显示所有隐藏的核心。
    8.仅连接到非可调试设备> DAP。
    9.转至脚本>恢复出厂设置。
    10.关闭并重新打开电源,然后尝试重新启动调试。

    我的错误已被删除,现在我成功构建并调试了"设置48MHz DCO的示例代码"。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sayali

    这听起来是好消息!  这是否意味着您的问题已得到解决?  或者您仍然有问题吗?  听起来您已经使用了示例代码。  您是否也能够在自己的代码中实现此目标?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的,我的问题已解决。我只需在代码中添加以下步骤,即可启用MCLK=48MHz的操作

    1.将VCORE级别配置为1
    2.将闪存等待状态配置为1
    3.将DCO频率配置为48MHz

    我的代码也正常工作,没有任何错误。

    谢谢