feat: publish FreeRTOS C FC11 card
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
#ifndef TASK01_STATIC_ALLOCATION_H
|
||||
#define TASK01_STATIC_ALLOCATION_H
|
||||
#include <stdint.h>
|
||||
#include "FreeRTOS.h"
|
||||
#include "queue.h"
|
||||
#include "task.h"
|
||||
#include "timers.h"
|
||||
#include "task01_static_allocation_model.h"
|
||||
#define FC11_TASK_STACK_WORDS 256U
|
||||
#define FC11_WORKER_PRIORITY 2U
|
||||
#define FC11_VERIFIER_PRIORITY 1U
|
||||
#define FC11_TIMER_PERIOD_TICKS 2U
|
||||
#define FC11_TIMEOUT_TICKS 20U
|
||||
#define FC11_MESSAGE_VALUE 0xCAFEU
|
||||
#define FC11_EVENT_CAPACITY 10U
|
||||
typedef struct StaticAllocationExperiment
|
||||
{
|
||||
TaskHandle_t dynamic_task;
|
||||
QueueHandle_t dynamic_queue;
|
||||
TimerHandle_t dynamic_timer;
|
||||
TaskHandle_t static_task;
|
||||
QueueHandle_t static_queue;
|
||||
TimerHandle_t static_timer;
|
||||
TaskHandle_t verifier_task;
|
||||
size_t heap_h0;
|
||||
size_t heap_h1;
|
||||
size_t heap_h2;
|
||||
size_t heap_h3;
|
||||
uint32_t dynamic_received;
|
||||
uint32_t static_received;
|
||||
uint32_t dynamic_timer_calls;
|
||||
uint32_t static_timer_calls;
|
||||
uintptr_t dynamic_task_sp;
|
||||
uintptr_t static_task_sp;
|
||||
uint32_t dynamic_task_done;
|
||||
uint32_t static_task_done;
|
||||
uint32_t pass;
|
||||
uint32_t evidence_digest;
|
||||
} StaticAllocationExperiment;
|
||||
extern StaticAllocationExperiment g_fc11;
|
||||
extern StaticAllocationEvidence g_fc11_events[ FC11_EVENT_CAPACITY ];
|
||||
extern volatile uint32_t g_fc11_event_count;
|
||||
extern volatile uint32_t g_fc11_last_checkpoint;
|
||||
extern volatile uint32_t g_fc11_pass;
|
||||
void fc11_checkpoint_committed( uint32_t point, const void * subject );
|
||||
void fc11_dynamic_task_entry( void * context );
|
||||
void fc11_static_task_entry( void * context );
|
||||
void fc11_verifier_entry( void * context );
|
||||
void fc11_timer_callback( TimerHandle_t timer );
|
||||
#endif
|
||||
Reference in New Issue
Block a user