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.

[参考译文] MSPM0G3519:MSPM0G3519中导致异常的出厂区域数据- MCAL 示例

Guru**** 2455560 points
Other Parts Discussed in Thread: MSPM0G3519

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1490840/mspm0g3519-factory-region-data-causing-exception-in-mspm0g3519---mcal-example

器件型号:MSPM0G3519

工具与软件:

团队成员、您好!

我们尝试运行 MCAL 软件包 MCAL_MSPM0_00.02.04.00中提供的示例。 由于 MCU 进入异常(复位处理程序)、该示例未按预期工作。

我们有以下观察结果:

1. CCS 示例: out_of_box_mspm0g3519

我们刷写 CCS 中提供的 out_of_box_mspm0g3519示例的二进制文件、并可以看到代码在电路板上闪烁。 在本例中、我们可以看到地址0x41C40034的值为0x8103060A

2. MCAL 软件包示例- dio_app

我们根据 MCAL 版本说明中提供的步骤构建示例。 我们通过 Lauterbach (Trace32)调试程序下载生成的二进制文件。  

当我们运行该示例时、将  执行以下指令:sysctl->SOOCK.SYSPLLPARAM0 =*(volatile uint32_t *)((uint32_t) CL404.j Mcu_Clock Mcu_Clk PLLInputFreq);(在 Mcu_Drv Mcu_Syspll ()函数中)。 只要执行上述行、就会跳转到复位处理程序函数。 此外、我们检查发现地址 0x41C40034上没有适用于 CCS 示例的数据。

根据上述观察、我们有以下问题:

1.是否是在从 CCS 刷写代码时写入的闪存区域。 如何处理?

2.在闪烁时,我们需要注意写这个区域。 我们如何处理它?

3.是否有任何原因影响这一点?

此致、

Rohidas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Unknown 说:
    1. 是在从 CCS 刷写代码时写入的闪存区域。 如何处理它?[/quotes][userid="637652" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1490840/mspm0g3519-factory-region-data-causing-exception-in-mspm0g3519---mcal-example "]sysctl->SOCLOCK.SYSPLLPARAM0 =*(volatile uint32_t *)((uint32_t Mcu_Clock ) Mcu_Drv Mcu_Clk Mcu_Syspll [j->PLLInputFreq>3.60PLLInputFreq]函数)

    此区域为 Mcu_Clk 401PLLInputFreqType、地址为 0x41C4001C... 位于 Mcu_Cfg。h 中

    这是出厂区域。

    Unknown 说:
    2. 我们是否需要注意在闪烁时写入此区域。 我们如何处理它?

    我们在读取它们时需要注意这个区域。

    将在驱动程序层的软件代码中进行。

    Unknown 说:
    3. 或者是否有任何影响这一点的原因?

     https://www.ti.com/lit/er/slaz758a/slaz758a.pdf 中的 FLASH_ERR_01

    如何修复:

    1.检查 CPU 速度。

    2.如果 SPEED 为32MHz、则将闪存等待状态设置为1、即可自由访问 FACTORY 区域。

    2.1如果 SPEED 为80MHz、则需要将 CPU 设置为32MHz、 闪存等待状态设置为1、才能访问该区域。

    3.在 syscfg 中使用 SDK 中的标准 MSPM0演示时有权变措施。

    SYSCFG 将生成用于将时钟系统配置重置到32MHz 的代码。SYSCFG 会将该区域的数据复制到 RAM、然后运行时钟系统初始化。

    此致、

    Helic

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

    你好、Helic、

    这些答案 不清楚。

    1.是否是在从 CCS 刷写代码时写入的闪存区域。 如何处理? 是的、连接电路板时、CCS 是否会写入其出厂区域位?

    2. 在闪烁时,我们需要注意写这个区域。 我们如何处理它? 为此,你说,我们需要注意阅读。 但我们不清楚在使用 MCAL 封装代码时如何处理它。 我们目前没有使用 CCS。

    3.是否有任何原因影响这一点? 对于此问题、您已给出了修复步骤。 我们如何在 MCAL 封装代码中添加此修复。  

    此致、

    Rohidas Khurange

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1. 是在从 CCS 刷写代码时写入的闪存区域。 如何处理? 是的、连接电路板时 CCS 会写入其出厂区域位吗?

    不、不是。 此区域在工厂中编写、是常量。

    2.  我们是否需要注意在闪烁时写入此区域。 我们如何处理它? 为此,你说,我们需要注意阅读。 但我们不清楚在使用 MCAL 封装代码时如何处理它。 我们当前未使用 CCS。

    您无法编写此部分。

    为此、您说我们在阅读时需要小心。 但我们不清楚在使用 MCAL 封装代码时如何处理它。 我们当前未使用 CCS。

    我需要在内部进行检查。

    或者是否有任何原因影响了这一点? 对于此问题、您已给出了修复步骤。 我们如何在 MCAL 封装代码中添加此修复。  [报价]

    将进行 MCAL 软件包更新以解决此问题。

    这是 MSPM0G3519的工厂区域访问错误。

    此致、

    Helic

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

    我还需要确认您的用例。

    您能否向我发送有关以下方面的详细信息:

    CPU 时钟频率。

    如何进行 syspll 设置。

    运行以下代码时、帮助我确认闪存等待状态位:

    SYSCTL->SOCLOCK.SYSPLLPARAM0 = *(volatile uint32_t *) ((uint32_t)Mcu_DrvObj->Mcu_ClockSrcConfig->Mcu_ClkSysPLLInputFreq);

    发生这种硬故障/问题时、您是否使用调试器重新启动功能?

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

    你好、Helic、

    感谢您的响应。  

    上述所有问题均在内部 MCAL 版本中得到解决。

    非常感谢!

    此致、

    Rohidas