43 #define FLASH_API_KEY 0xB7E3A08F 49 void (*enterStandby)(
const uint32_t *copyList);
51 uint32_t (*crc32)(
const uint8_t *data, uint32_t nBytes);
53 void (*applyCopyList)(
const uint32_t *list);
55 uint32_t (*flashSectorErase)(uint32_t key, uint32_t sectorAddress);
57 uint32_t (*flashBankErase)(uint32_t key);
59 uint32_t (*flashProgram)(uint32_t key,
const uint8_t *dataBuffer, uint32_t address, uint32_t nBytes);
61 uint32_t (*countBits)(uint32_t word);
63 void (*secdedEncode)(uint8_t *parity,
const uint64_t *data, uint32_t nWords64);
65 int32_t (*secdedDecode)(uint64_t *data,
const uint8_t *parity, uint32_t nWords64);
67 void (*enterApplication)();
79 int_fast16_t (*sha256SwAddData)(
SHA256SW_Handle handle,
const void *data,
size_t length);
83 void (*resetDevice)(void);
85 void (*sha256SwProcessBlock)(uint32_t digest[8], uint32_t Ws[16]);
87 const uint32_t (*sha256SW_K256)[64];
89 const uint32_t (*sha256Sw_initialDigest256)[8];
91 void (*waitUs)(uint32_t nUs);
93 uint32_t (*clz)(uint32_t x);
97 #define HAPI_TABLE_BASE_ADDR 0x0F00004C 98 #define HAPI_TABLE_POINTER ((const HARD_API_T *)HAPI_TABLE_BASE_ADDR) 126 #define HapiEnterStandby(p) HAPI_TABLE_POINTER->enterStandby((p)) 141 #define HapiCrc32(p, n) HAPI_TABLE_POINTER->crc32((p), (n)) 169 #define HapiApplyCopyList(p) HAPI_TABLE_POINTER->applyCopyList((p)) 197 #define HapiFlashSectorErase(k, p) HAPI_TABLE_POINTER->flashSectorErase((k), (p)) 219 #define HapiFlashBankErase(k) HAPI_TABLE_POINTER->flashBankErase((k)) 264 #define HapiFlashProgram(k, s, d, n) HAPI_TABLE_POINTER->flashProgram((k), (s), (d), (n)) 276 #define HapiCountBits(w) HAPI_TABLE_POINTER->countBits((w)) 302 #define HapiSecdedEncode(p, d, n) HAPI_TABLE_POINTER->secdedEncode((p), (d), (n)) 320 #define HapiSecdedDecode(d, p, n) HAPI_TABLE_POINTER->secdedDecode((d), (p), (n)) 333 #define HapiEnterApplication() HAPI_TABLE_POINTER->enterApplication() 372 #define HapiSha256SwHashData(h, d, l, g) HAPI_TABLE_POINTER->sha256SwHashData((h), SHA2SW_HASH_TYPE_256, (d), (l), (g)) 388 #define HapiSha256SwStart(h) HAPI_TABLE_POINTER->sha256SwStart((h), SHA2SW_HASH_TYPE_256) 422 #define HapiSha256SwAddData(h, d, l) HAPI_TABLE_POINTER->sha256SwAddData((h), (d), (l)) 446 #define HapiSha256SwFinalize(h, g) HAPI_TABLE_POINTER->sha256SwFinalize((h), (g)) 456 #define HapiResetDevice() HAPI_TABLE_POINTER->resetDevice() 459 #define HapiSha256SwProcessBlock(d, w) HAPI_TABLE_POINTER->sha256SwProcessBlock((d), (w)) 462 #define HapiSha256Sw_K256 (*HAPI_TABLE_POINTER->sha256SW_K256) 465 #define HapiSha256Sw_initialDigest256 (*HAPI_TABLE_POINTER->sha256Sw_initialDigest256) 474 #define HapiWaitUs(n) HAPI_TABLE_POINTER->waitUs((n)) 485 #define HapiClz(x) HAPI_TABLE_POINTER->clz((x))
SHA256SW Object.
Definition: sha256sw.h:217
SHA2SW_HashType
Enum for the hash types supported by the library.
Definition: sha2sw_common.h:53