mirror of
https://github.com/tillitis/tillitis-key1.git
synced 2025-04-26 18:09:16 -04:00

- Add per app flash storage - Adds four data areas. An app can allocate an area. Once allocated the area is tied to the CDI of the app and can only be read/written/deallocated by the same app. - Add two pre loaded app slots to flash - Load an app from the first slot at boot. The app digest must match a specific digest specified in firmware. - Optionally load an app from the second slot - Add a resetinfo area in FW_RAM which is used to signal an app's intent of resetting the system and, optionally, pass data to firmware or the next app in a bootchain. Co-authored-by: Jonas Thörnblad <jonas@tillitis.se> Co-authored-by: Mikael Ågren <mikael@tillitis.se> Co-authored-by: Daniel Jobson <jobson@tillitis.se>
23 lines
697 B
C
23 lines
697 B
C
// Copyright (C) 2024 - Tillitis AB
|
|
// SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
#ifndef STORAGE_H
|
|
#define STORAGE_H
|
|
|
|
#include "partition_table.h"
|
|
|
|
#include <stdbool.h>
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
|
|
int storage_deallocate_area(struct partition_table_storage *part_table_storage);
|
|
int storage_allocate_area(struct partition_table_storage *part_table_storage);
|
|
int storage_erase_sector(struct partition_table *part_table, uint32_t offset,
|
|
size_t size);
|
|
int storage_write_data(struct partition_table *part_table, uint32_t offset,
|
|
uint8_t *data, size_t size);
|
|
int storage_read_data(struct partition_table *part_table, uint32_t offset,
|
|
uint8_t *data, size_t size);
|
|
|
|
#endif
|