查看: 3800|回复: 3

[求助] KV30_Flash Read Collision Error Flag

[复制链接]
  • TA的每日心情
    郁闷
    2019-3-21 17:33
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    8

    主题

    20

    帖子

    0

    注册会员

    Rank: 2

    积分
    127
    最后登录
    2020-12-23
    发表于 2020-8-31 16:49:32 | 显示全部楼层 |阅读模式
    mcu型号:MKV30F64xxx
    调试FLASH写一个长字节功能时,出现了Flash Read Collision Error Flag错误,通过debug发现在写FTFA->FSTAT[CCIF]=0后,
    FTFA->FSTAT[RDCOLERR]置位了。导致程序一直重启。手册中没有找到应对这个错误的方法,请问哪位大神遇到过这样的问题》。。

    以下是发送flash执行指令的函数:

    unsigned char Command_Lanuch( void )
    {
        unsigned char Return = Flash_OK;
              __disable_irq();                                                     //DisableInterrupts;
        FTFA->FSTAT |= FTFA_FSTAT_CCIF_MASK;           /* Launch command */
        while (!(FTFA->FSTAT & FTFA_FSTAT_CCIF_MASK)) {};  /* wait for command completion */
        if (FTFA->FSTAT & FTFA_FSTAT_ACCERR_MASK)            /* checking access error */
            FTFA->FSTAT |= FTFA_FSTAT_ACCERR_MASK;           /* clear error flag */
            Return |= Flash_FACCERR;                                       /* update return value*/
        }
        else if (FTFA->FSTAT & FTFA_FSTAT_FPVIOL_MASK)      /* checking protection error */
        {
            FTFA->FSTAT |= FTFA_FSTAT_FPVIOL_MASK;       /* clear error flag */
            Return |= Flash_FPVIOL;                                      /* update return value*/
        }
        else if (FTFA->FSTAT & FTFA_FSTAT_RDCOLERR_MASK)
        {
            FTFA->FSTAT |= FTFA_FSTAT_RDCOLERR_MASK;  /* clear error flag */
           Return |= Flash_RDCOLERR;                                  /* update return value*/
        }
        else if (FTFA->FSTAT & FTFA_FSTAT_MGSTAT0_MASK)            /* checking MGSTAT0 non-correctable error */
        {
            Return |= Flash_MGSTAT0;
        }
                    __enable_irq();       //EnableInterrupts;
        return Return;
    }


    我知道答案 目前已有3人回答
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2019-3-21 17:33
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    8

    主题

    20

    帖子

    0

    注册会员

    Rank: 2

    积分
    127
    最后登录
    2020-12-23
     楼主| 发表于 2020-9-1 11:21:51 | 显示全部楼层
    FTFA->FSTAT |= FTFA_FSTAT_CCIF_MASK;           /* Launch command */
    在这一句后面做一个延时,问题解决。不再出现Flash Read Collision Error Flag的错误。
    FTFA->FSTAT |= FTFA_FSTAT_CCIF_MASK;           /* Launch command */
    for(i=0;i<1000;i++){}     //延时太少也不行,此处设置成1000.
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2019-3-21 17:33
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    8

    主题

    20

    帖子

    0

    注册会员

    Rank: 2

    积分
    127
    最后登录
    2020-12-23
     楼主| 发表于 2020-9-1 11:23:11 | 显示全部楼层


    FTFA->FSTAT |= FTFA_FSTAT_CCIF_MASK;           /* Launch command */
    在这一句后面做一个延时,问题解决。不再出现Flash Read Collision Error Flag的错误。
    FTFA->FSTAT |= FTFA_FSTAT_CCIF_MASK;           /* Launch command */
    for(i=0;i<1000;i++){}     //延时太少也不行,此处设置成1000.

    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    723

    主题

    6382

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    25481
    最后登录
    2025-9-9
    发表于 2020-9-1 13:16:56 | 显示全部楼层

    回帖奖励 +30 NXP金币

    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-9-10 02:49 , Processed in 0.096844 second(s), 24 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表