Add full automotive RTOS project

Add kernel (Cortex-M0/M3/M4, Tricore, S32K, RISC-V ports), drivers,
middleware (CAN stack, diagnostics, safety), applications, board
support, build/test tooling, and documentation.
This commit is contained in:
root
2026-08-23 03:35:29 -04:00
parent f113bf0a05
commit ca13734bf0
151 changed files with 23945 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
/**
* @file queue.h
* @brief Message queue for inter-task communication
*/
#ifndef QUEUE_H
#define QUEUE_H
#include "kernel.h"
/* Queue Control Block */
typedef struct {
void* buffer;
uint32_t item_size;
uint32_t max_items;
uint32_t current_items;
uint32_t head;
uint32_t tail;
TaskHandle_t* waiting_senders;
TaskHandle_t* waiting_receivers;
uint32_t waiting_sender_count;
uint32_t waiting_receiver_count;
} Queue_t;
/* Queue Functions */
KernelStatus_t queue_create(Queue_t* queue, void* buffer, uint32_t item_size,
uint32_t max_items);
KernelStatus_t queue_send(Queue_t* queue, const void* item, TimeOut_t timeout);
KernelStatus_t queue_receive(Queue_t* queue, void* item, TimeOut_t timeout);
KernelStatus_t queue_send_from_isr(Queue_t* queue, const void* item);
KernelStatus_t queue_receive_from_isr(Queue_t* queue, void* item);
uint32_t queue_get_count(Queue_t* queue);
KernelStatus_t queue_delete(Queue_t* queue);
#endif /* QUEUE_H */