From b868daa14cda0a15811d7e5996de6af31c5bf9c3 Mon Sep 17 00:00:00 2001 From: Sean Cross Date: Fri, 16 Feb 2024 15:22:24 +0800 Subject: [PATCH] [GH#585] STM32F4_CRC: use correct CRC data The STM32F4 CRC engine uses the MPEG2 polynomial and configuration. This is different from most other CRC engines, and is somewhat surprising. This patch fixes https://github.com/renode/renode/issues/585 Signed-off-by: Sean Cross --- src/Emulator/Peripherals/Peripherals/CRC/STM32F4_CRC.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Emulator/Peripherals/Peripherals/CRC/STM32F4_CRC.cs b/src/Emulator/Peripherals/Peripherals/CRC/STM32F4_CRC.cs index fe9022b5b..3d608029a 100644 --- a/src/Emulator/Peripherals/Peripherals/CRC/STM32F4_CRC.cs +++ b/src/Emulator/Peripherals/Peripherals/CRC/STM32F4_CRC.cs @@ -18,7 +18,7 @@ public class STM32F4_CRC : BasicDoubleWordPeripheral, IKnownSize { public STM32F4_CRC(IMachine machine) : base(machine) { - crc = new CRCEngine(CRCPolynomial.CRC32, init: 0xFFFFFFFF, xorOutput: 0xFFFFFFFF); + crc = new CRCEngine(CRCPolynomial.CRC32, init: 0xFFFFFFFF, xorOutput: 0, reflectInput: false, reflectOutput: false); DefineRegisters(); Reset();