This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
大家好!
我在 AM2434LP 上使用 EEPROM 和 EtherCAT。
我获取了来自 TwinCAT 的数据、并将数据存储在 EEPROM 中、地址为0x101至0x410。
现在、EtherCAT 从站简单演示会返回如下所示的与 EEPROM 相关的错误
本地实施
Pruicss max =3 Selected PRU:3
DID 映射0x30080000 len 0x2000至0x30080000 (dram0)
DID 映射0x30082000 len 0x2000至0x30082000 (dram1)
DID 映射0x300b4000 len 0x4000至0x300b4000 (iram0)
DID 映射0x300b8000 len 0x4000至0x300b8000 (iram1)
DID 映射0x30090000 len 0x10000至0x30090000 (shdram)
DID 映射0x300a2000 len 0x400到0x300a2000 (CONTROL0)
DID 映射0x300a4000 len 0x400至0x300a4000 (CONTROL1)
DID 映射0x300a0000 len 0x2000到0x300a0000 (INTC)
DID 映射0x300a6000长度0x2000到0x300a6000 (cfg)
DID 映射0x300a8000 len 0x2000到0x300a8000 (uart0)
DID 映射0x300ae000 len 0x2000至0x300ae000 (IEP)
DID 映射0x300b0000 len 0x2000到0x300b0000 (ecap0)
DID 映射0x300b2000 len 0x400至0x300b2000 (MII_RT)
DID 映射0x300b2000 len 0x1c00至0x300b2000 (MDIO)
PHY 复位:0.28
PHY 复位:0.20
pRegPerm = 0x30082000、dram1=0x30082000、偏移= 0x00000000、大小= 0x00001400
PRU ESC:版本0690 | BLD 0514 | INTC 基地址:0x300a0000、id = 0x4e82a900
INTC。 HIDISR 地址:0x300a0038
RxPDO 创建了0x1600:0x7014a9e0
RxPDO 创建了0x1601:0x7014aae8
TxPDO 创建0x1A00:0x7014ab80
TxPDO 创建了0x1A01:0x7014ac88
EC_SLV_INT_EEP_LoadEscRegisters:1080 Errout
EC_SLV_INT_EEP_LoadEscRegisters:0x20004 EC 是致命= 1、SRC:EC_SLV_INT_EEP_LoadEscRegisters:1081
如何解决此错误?
如何使用现有配置将 EEPROM 复位回?
谢谢、此致、
D.Jenita.
您好、Jenita、
该错误是由于 CONFIG DATA 部分的无效 CRC 造成的、在加载 ESC 寄存器之前对其进行检查。
堆栈应用程序通过读取 EEPROM 初始化期间存储的键值来检查 EEPROM 是否已初始化、并 在启动阶段将数据加载到应用程序中。 要将 EEPROM 复位为默认配置、我建议您擦除 EEPROM 数据内容并下电上电。 另一种方法是简单地更改中定义的 EEPROM_MIC_KEY project.h 文件、因为这会 在密钥更改后将 EEPROM 重新初始化为默认配置。
此致、