feat: publish FreeRTOS C FC10 card

This commit is contained in:
2026-07-19 16:36:03 +02:00
commit 2e0fdfdc7e
199 changed files with 59630 additions and 0 deletions
+54
View File
@@ -0,0 +1,54 @@
#ifndef TASK01_NOTIFICATIONS_H
#define TASK01_NOTIFICATIONS_H
#include <stdint.h>
#include "FreeRTOS.h"
#include "task.h"
#include "task01_notifications_model.h"
#define FC10_BITS_A 0x04U
#define FC10_BITS_B 0x20U
#define FC10_BITS_ALL ( FC10_BITS_A | FC10_BITS_B )
#define FC10_TASK_STACK_WORDS 256U
#define FC10_SENDER_PRIORITY 3U
#define FC10_RECEIVER_PRIORITY 2U
#define FC10_VERIFIER_PRIORITY 0U
#define FC10_TIMEOUT_TICKS 20U
#define FC10_EVENT_CAPACITY 14U
typedef struct NotificationExperiment
{
TaskHandle_t sender_handle;
TaskHandle_t receiver_handle;
TaskHandle_t verifier_handle;
eTaskState receiver_state_before_count;
eTaskState receiver_state_before_overwrite;
eTaskState receiver_state_before_bits;
uint32_t count_result;
uint32_t overwrite_result;
uint32_t bits_result;
uint32_t clear_after_count;
uint32_t clear_after_overwrite;
uint32_t clear_after_bits;
volatile uint32_t receiver_phase;
uintptr_t sender_sp;
uintptr_t receiver_sp;
uint32_t sender_done;
uint32_t receiver_done;
uint32_t pass;
uint32_t evidence_digest;
} NotificationExperiment;
extern NotificationExperiment g_fc10;
extern NotificationEvidence g_fc10_events[ FC10_EVENT_CAPACITY ];
extern volatile uint32_t g_fc10_event_count;
extern volatile uint32_t g_fc10_last_checkpoint;
extern volatile uint32_t g_fc10_pass;
void fc10_checkpoint_committed( uint32_t point, const void * subject );
void fc10_sender_entry( void * context );
void fc10_receiver_entry( void * context );
void fc10_verifier_entry( void * context );
#endif