puf_sram.h File Reference

Detailed Description

#include "hashes.h"
#include "thread.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. More...
 

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 More...
 
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 More...
 
bool puf_sram_softreset (void)
 checks for a memory marker to determine whether memory contains old data. More...
 

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. More...
 
uint32_t puf_sram_softreset_cnt
 Counter variable allocated in puf_sram.c. More...