#define WAIT_TIMEOUT_MS 100u
#define WORD_SIZE sizeof(void*)
+#define MAX_TASKS 4194304
#define WORD_ALIGN(x) \
(((x) + WORD_SIZE) & ~(WORD_SIZE))
+typedef enum {
+ STATE_READY = 0,
+ STATE_RUNNING,
+ STATE_SEND_BLOCKED,
+ STATE_RECV_BLOCKED,
+ STATE_TERMINATED
+} TaskState_T;
+
typedef struct Task_T {
long* stack_top; // top of task's stack
long* heap_top; // top of task's heap
static CpuState_T* Running = NULL;
static int CpuCount;
+static long NextTask = 0;
+static Task_T* Tasks[MAX_TASKS];
+
/***************************************
Lock and Condition Operations
***************************************/