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.

[参考译文] CC1312R:闪存编程或擦除

Guru**** 2539500 points
Other Parts Discussed in Thread: CC1310

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1135963/cc1312r-flash-program-or-erase

器件型号:CC1312R
主题中讨论的其他器件:CC1310

您好!

我们正在使用 CC1312 (从 CC1310移植)引导加载程序(不带操作系统)、IAR 8.50.1、SDK 4.40.04.04, 我们发现我们堆栈以防代码中出现红线。
如果我们仅使用  FlashSectorErase、它运行良好、您建议执行什么 操作? (与闪存编程类似的问题 img)
我在 SDK 4.40.04.04上找不到任何示例-无 RTOS。   

对于 CC1312,此功能是否也正确?


空 FlashErase (size_t offset、size_t length)

/*禁用处理器中断*/
IntMasterDisable();

/*禁用高速缓存*/
VIMSModeSet (VIMS_BASE,VIMS_MODE_DISABLED);


while (VIMSModeGet (VIMS_BASE)!= VIMS_MODE_DISABLED){}


//擦除闪存命令
FlashSectorErase( offset);

/*启用缓存中断*/
VIMSModeSet (VIMS_BASE,VIMS_MODE_ENABLED);

/*启用处理器中断*/
IntMasterEnable();

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

    Niv、您好!

    您是否考虑使用 VIMSModeSafeSet 而不是 VIMSModeSet?

    此致、
    尼古拉伊

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

    您好!
    我 没有尝试过、我会检查并告知您

    B.R
    非静脉

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

    它正在工作、谢谢
    现在、堆栈上的应用程序代码中存在问题

    BIOS_start();

    在写入闪存(启动阶段)并稍后调用  BIOS_start()之后,我是否需要调用特殊代码;?
    在调用 BIOS_start()之前,我是否需要检查闪存状态?



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

    Niv、您好!

    BIOS_start 不会返回。

    如果您在闪存编程期间修改 CCFG、则可能需要执行系统复位以使这些设置生效。

    此致、
    尼古拉伊