.. zephyr:code-sample:: crc_subsys :name: Cyclic Redundancy Check Subsystem (CRC Subsys) Compute and verify a CRC computation using the CRC subsys API. Overview ******** This sample demonstrates how to use the Cyclic Redundancy Check Subsystem Configuration Options ********************* This sample uses the following Kconfig options: - ``CONFIG_CRC``: Enable CRC functionality. - ``CONFIG_CRC*``: Use software-based CRC if a chosen node is present; otherwise, hardware acceleration is used. These options can be modified in the project's ``prj.conf`` file or passed via CMake arguments. Building and Running ******************** Building and Running for Renesas RA8M1 ====================================== The sample can be built and executed for the :zephyr:board:`ek_ra8m1` as follows: .. zephyr-app-commands:: :zephyr-app: samples/subsys/crc :board: ek_ra8m1 :goals: build flash :compact: To build for another board, change "ek_ra8m1" above to that board's name. Sample Output ============= .. code-block:: console subsys_crc_example: Result of CRC32 IEEE: 0xCEA4A6C2 subsys_crc_example: Result of CRC8 CCITT: 0x96 subsys_crc_example: CRC computation completed successfully .. note:: If the board does not support a hardware CRC driver, the computation will fall back to a software-based implementation. Expected Behavior ***************** When the sample runs, it should: 1. Compute the CRC32 and CRC8 values of predefined data. 2. Print the computed CRC values.