问题来了 : 主收发器(CC1200)向从收发器发送数据包(61字节),从收发器成功接收数据包,但 AES 引擎未能对数据包进行解码。 解密后、并不会观察到 RXFIFO 发生变化。
在从收发器中接收数据包之前、使用以下命令进行初始化:
FUNC_SPI_1_WRITE_STROBE (CC1200_sidle);
FUNC_SPI_1_WRITE_STROBE (CC1200_SFRX);/*刷新 Rx 缓冲器*/
FUNC_SPI_1_WRITE_STROBE (CC1200_SRX);/*设置 Rx 模式*/
收到数据包后、我检查 RXFIFO、可以看到它已由主收发器正确加密。 主器件和从器件共享相同的 HAL 函数。
在按照 SWRA483第8页所述单步执行解密过程后、RXFIFO 寄存器保持不变。
我看到有证据表明、AES 引擎已经运行了、因为在我解码61个字节时、NONCE 第一个字节已经递增4、即已处理了4个16字节的段。 我还看到解密后工作区寄存器会发生改变、所以有些事情正在发生、但 RXFIFO (和 TXFIFO)保持不变。
怎样才能阻止 RXFIFO 在解密过程中不更新?
我的代码遵循 TI 提供的示例代码。