你好,我们在 XMC4200 的 EEPROM 仿真中遇到了问题。发现的问题------------------- 我们使用 DAVE 应用程序分配了 70 字节的内存,但实际上,我们使用了 92 字节的内存。读写操作进展顺利,没有发现任何问题。 当微控制器开启时,所有EEPROM数据都被擦除了,所有数据都为零。 这在之前的 POWER_DRILL2GO 上 POWER_DRILL2GO 下行周期中没有观察到。 我们试图向该位置写入新数据,但无法访问。 我们检查了名为 " e_eeprom_xmc4_updateFlashContents " 的 API 返回的是 " E_EEPROM_XMC4_STATUS_WRITE_ERROR "。 然后进一步调查发现,API " e_eeprom_xmc4_lwritetoFlash " 返回了错误。这是它返回错误的条件。 if ((xmc_flash_getStatus () (uint32_t) (XMC_FLASH_STATUS_VERIFY_ERROR) | XMC_FLASH_STATUS_OPERAtiON_ERROR))!= 0) { status = E_EEPROM_XMC4_STATUS_WRITE_ERROR; break; }当我们擦掉整个闪存时,它又开始工作了。 所有读/写操作均正常运行。问题。--------------EEPROM是如何在微控制器 POWER_DRILL2GO 时被完全擦除的。为什么写入操作受到限制。整个闪存擦除后,EEPROM 如何重新开始运行。如何解决这个问题。有什么办法可以重现这个问题吗。
共2条
1/1 1 跳转至页
XMC4200的EEPROM仿真时,EEPROM数据都被擦除了的原因?
2楼
以下是可能导致EEPROM数据被擦除的一些原因:
1. 分配的内存大小不够:您提到使用了70字节的内存,但实际上使用了92字节。如果分配的内存不足以容纳实际写入的数据,那么可能会发生覆盖并且导致数据擦除。
2. 未正确保存数据:在EEPROM仿真中,数据通常在断电后仍然保持。如果您的代码没有正确保存数据到EEPROM中,那么在微控制器重新启动时数据将被擦除。
3. API调用错误:您提到使用的API返回了"E_EEPROM_XMC4_STATUS_WRITE_ERROR"。这可能表示在尝试写入EEPROM时发生了错误,导致数据被擦除。您可以进一步检查API的使用方式以及任何可能导致错误的参数或配置。
为了解决问题,您可以采取以下步骤:
1. 确保您正确分配了足够的内存空间用于存储数据。
2. 检查您的代码,确保在适当的地方保存数据到EEPROM中,以便在断电后仍然保持。
3. 仔细检查API的使用方式,确保传递正确的参数和配置。如果可能,查阅相关文档以了解API的正确使用方法。
共2条
1/1 1 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 【S32DS】S32K3 RTD7.0.1 HSE 组件配置报错问题解决被打赏¥27元 | |
| 【S32K3XX】MCME 启动 CORE1被打赏¥23元 | |
| AG32VH407下温度大气压传感器及其检测被打赏¥20元 | |
| AG32VH407下光照强度传感器BH1750及其检测被打赏¥22元 | |
| AT32VH407下使用温湿度传感器DHT22进行检测被打赏¥20元 | |
| DIY一个婴儿澡盆温度计被打赏¥34元 | |
| 【FreeRtos】FreeRtos+MPU region 配置规则被打赏¥23元 | |
| 【分享开发笔记,赚取电动螺丝刀】三分钟快速上手驱动墨水屏(ArduinoIDE)被打赏¥28元 | |
| 【S32K3XX】LIN 通讯模块使用被打赏¥31元 | |
| 【FreeRtos】FreeRtos + MPU模块的配置使用被打赏¥32元 | |
我要赚赏金
