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.

[参考译文] MSPM0L1306:MCU 在写入闪存时进入默认处理程序

Guru**** 2431370 points
Other Parts Discussed in Thread: MSPM0L1306

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1302452/mspm0l1306-mcu-goes-into-default-handler-while-writing-in-flash-memory

器件型号:MSPM0L1306

我正在 CCS 12.5中使用 MSPM0L1306 MCU。

我正在尝试访问闪存、并参考了驱动程序库文件。

在写入闪存时、MCU 会进入默认处理程序无限循环。

我已经将示例文件中的相同代码流完全复制到了我的源代码中。

您能帮助我如何进一步调试问题吗?

谢谢。此致。

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

    尊敬的 Rahul:

    您尝试写入哪个闪存地址范围?

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

    您好、先生!

    我正在尝试在以下地址写入:

    #define MAIN_BASE_ADDRESS (0x00001000)

    我的源代码中的代码流程是这样的:

    //声明的变量

    uint8_t gData8 = 0x55;
    unsigned char Test = 0;
    unsigned char *ptest;

    //取消保护闪存
    DL_FlashCTL_unprotectSector (FLASHCTL、MAIN_BASE_ADDRESS、DL_FLASHCTL_REGION_SELECT_MAIN);

    //写入闪存

    gCmdStatus = DL_FlashCTL_programMemoryFromRAM8 (FLASHCTL、MAIN_BASE_ADDRESS、&gData8);

    (请注意、此处我们会在 gCmdStatus 中传递、有时程序会在此处进入默认处理程序)

    // Read_Verify 闪存

    gCmdStatus = DL_FlashCTL_readVerifyFromRAM8 (FLASHCTL、MAIN_BASE_ADDRESS、&gData8);

    (即使传递写入函数、该函数也始终输出失败)

    ptest =(void *)(MAIN_BASE_ADDRESS+8);
    测试=*ptest;

    (测试变量的值与 gData8不同)

    谢谢。此致。

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

    尊敬的 Rahul:

    我运行了您的代码多次、从未分支到默认处理程序。

    我捕获的一件事是您将0x55存储在 MAIN_BASE_ADDRESS 中、但要将 ptest 指针设置为 MAIN_BASE_ADDRESS + 8。  这将解释两个值不匹配的原因。

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

    好的、感谢 Dennis 的支持。

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

    尊敬的 Rahul:

    您是否能够让此功能为您效劳?

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

    您好、Dennis、  

    实际上、我们正在处理这个项目的紧急通知、所以我没有机会再次重试闪存访问、我们找到了另一种方法、在不使用闪存的情况下实现我们的目标。 我会告诉您、我们是否会再次解决该问题。

    谢谢。此致。