问题背景:
客户在使用PSoC™ 4的Em_EEPROM功能模块时,使用PSoC Creator惊行
仿真调试的时,发现程序一旦运行至“Em_EEPROM_Write”函数时候就会导致仿真中断,出现以下错误提示:
问题分析:
1、Em_EEPROM的实现机制是在芯片的内部Flash 划分处一块区域作为Em_EEPROM的存储空间,所以对模拟Em_EEPROM的擦写最终也是调用到对内部Flash的擦除和写操作。
2、对芯片内部Flash的操作必须使用的是内部时钟,如果客户工程使用的是外部时钟,并且没用开启内部时钟时,在写FLash 操作的时候必须切换到内部时钟,等待Flash 写操作完成过后在重新切换位内部时钟。在写操作完成后在切换为外部时钟的过程由于内部时钟关闭导致才导致了上面的异常错误。
3、用户外使用到Flash操作的时候不管时及时系统使用外部时钟需要把内部IMO开启:
这样即可避免在有写内部Flash操作的工程在仿真时出现异常。