查看: 4192|回复: 1

[MPC] mpc5744pflash块擦除问题

[复制链接]

该用户从未签到

1

主题

1

帖子

0

新手上路

Rank: 1

积分
15
最后登录
2017-12-12
发表于 2017-12-4 14:54:17 | 显示全部楼层 |阅读模式
本帖最后由 798361971 于 2017-12-4 14:56 编辑

有 哪位大神知道在使用NXP官方提供的MPC5xxx_EEE_DRIVER模拟eeprom的驱动库时为什么在SWAP块数据时调用FSL_FlashEraseStart函数擦不掉块上某些地址上的数据 。而在其后的FSL_MainFunction函数中调用FSL_FlashEraseStart函数时却可以擦除整块 而两次调用FSL_FlashEraseStart函数时传入的参数是一模一样的 但是却在SWAP函数调用FSL_FlashEraseStart时在每个要擦除的块的偏移地址为0x20 0x21 0x22 0x23这四个字节数据每次都擦不掉。并且是每次在SWAP函数中调用FSL_FlashEraseStart时都是擦不掉那四个字节数据
  求大神帮解答下 谢谢


这个是FlashEraseStart函数的源码

UINT32 FSL_FlashEraseStart( UINT32 interlockWriteAddress,
                            UINT32 lowEnabledBlock,
                            UINT32 midEnabledBlock,
                            UINT32 highEnabledBlock)
{
    UINT32 returnCode = EE_OK;
    /* Check the high voltage operation */
    if ((READ32(FLASH_REG_BASE + FLASH_MCR) & (FLASH_MCR_ERS | FLASH_MCR_PGM)) != 0U)
    {
        /* If any P/E operation in progress return error */
        returnCode = EE_INFO_HVOP_INPROGRESS;
    }
    else
    {
        /* Set MCR ERS bit */
        SET32((FLASH_REG_BASE + FLASH_MCR), FLASH_MCR_ERS);
        /* Prepare low and middle enabled blocks */
        lowEnabledBlock &= 0xFFFFU;
        midEnabledBlock &= 0xFFFFU;
#if (FLASH_MODULE == C55)
        lowEnabledBlock <<= 16U;
#else
        midEnabledBlock <<= 16U;
#endif
        /* Write the block selection registers */
        WRITE32((FLASH_REG_BASE + FLASH_SEL0), (lowEnabledBlock | midEnabledBlock));
        WRITE32((FLASH_REG_BASE + FLASH_SEL1), highEnabledBlock);
        /* Interlock write */
        WRITE32(interlockWriteAddress, 0xFFFFFFFFU);
        /*WRITE32(interlockWriteAddress+0x20U, 0xFFFFFFFFU);*/
        /* Set MCR EHV bit */
        SET32((FLASH_REG_BASE + FLASH_MCR), FLASH_MCR_EHV);
    }
    return returnCode;
}
我知道答案 目前已有1人回答
回复

使用道具 举报

该用户从未签到

1

主题

4

帖子

1

新手上路

Rank: 1

积分
19
最后登录
2018-5-30
发表于 2018-5-21 11:14:52 | 显示全部楼层
flash只能整块擦除

评分

参与人数 1 +1 收起 理由
doatello + 1

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-9-11 13:34 , Processed in 0.090680 second(s), 23 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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