2.14. ROM_CHECKSUM: ROM Checksum Module

2.14.1. Introduction

ROM Checksum is a feature that is used to check the integrity of the data. Its work is to take a set of data associated with the memory regions of ROM and perform checksum on that data and then compare that resultant data value against a pre-determined golden vector value (golden vector has the expected value which should come as a result of 512-bit of hash message, golden vector is already defined and it has fixed address in ROM region).

This module provides the following functionality:

  • Ability initialize the ROM Checksum

  • Ability to process the data of ROM region

  • Ability to compress the data of ROM region and store the result in buffer

  • Ability to compare resultant data with golden value (golden value has the expected value which should come as a result of 512-bit of hash message, golden value is already defined and it has fixed address in ROM region)

2.14.2. Example Usage

The following shows an example of SDL ROM CHECKSUM API usage by the application to check the integrity of data at ROM region.

Compute the ROM Checksum
testResult = SDL_ROM_Checksum_compute();
if(testResult != SDL_PASS)
{
    //Intigrity check failed
}

2.14.3. Examples

The ROM checksum module provides a test app that demonstrates the ROM checksum functionality. Details of the test app name, location and build instructions are given in the table below.

Test App Name

Description

Location

Build Command

rom_checksum_func_test_app

Execute ROM Checksum for ROM region’s data

[sdl_install_dir]/test/rom_checksum/

make rom_checksum_func_test_app PROFILE=release

2.14.4. API

ROM CHECKSUM API Guide