Loading...
Searching...
No Matches
puf_sram.h File Reference

Detailed Description

#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
+ Include dependency graph for puf_sram.h:

Go to the source code of this file.

Macros

#define SEED_RAM_LEN   (2048 / sizeof(uint32_t))
 SRAM length considered for seeding.
 
#define PUF_SRAM_MARKER   (0xad3021ff)
 SRAM marker to detect reboot without power-off.
 

Functions

void puf_sram_init (const uint8_t *ram, size_t len)
 checks source of reboot by puf_sram_softreset and conditionally calls puf_sram_generate
 
void puf_sram_generate (const uint8_t *ram, size_t len)
 builds hash from SEED_RAM_LEN bytes uninitialized SRAM, writes it to the global variable puf_sram_seed and returns the value
 
bool puf_sram_softreset (void)
 checks for a memory marker to determine whether memory contains old data.
 

Variables

uint32_t puf_sram_seed
 Global seed variable, allocated in puf_sram.c.
 
uint32_t puf_sram_state
 Global seed state, allocated in puf_sram.c 0 means seed was generated from SRAM pattern, 1 means missing power cycle detected, 2 means power cycle detected.
 
uint32_t puf_sram_softreset_cnt
 Counter variable allocated in puf_sram.c.