8 #include "sw/device/lib/base/crc32.h"
12 #include "sw/device/lib/testing/test_framework/check.h"
14 #include "sw/device/lib/testing/test_framework/ottf_test_config.h"
16 OTTF_DEFINE_TEST_CONFIG();
20 for (
size_t i = 0; i <
ARRAYSIZE(buf); ++i) {
21 buf[i] = i & UINT8_MAX;
24 const size_t kNumRepetitions = 10;
25 for (
size_t i = 0; i < kNumRepetitions; ++i) {
27 const uint32_t checksum = crc32(buf,
sizeof(buf));
29 const uint64_t num_cycles = end_cycles - start_cycles;
31 CHECK(num_cycles <= UINT32_MAX);
32 const uint32_t num_cycles_u32 = (uint32_t)num_cycles;
33 LOG_INFO(
"CRC32 computed in %d cycles.", num_cycles_u32);
35 const uint32_t kExpectedChecksum = 0xa2912082;
36 if (checksum != kExpectedChecksum) {
37 LOG_ERROR(
"Checksum did not match. Expected %x, but got %x.",
38 kExpectedChecksum, checksum);