你好,我们在 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 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |