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:
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* @file port_common.h
|
||||
* @brief Common port interface definitions
|
||||
*/
|
||||
|
||||
#ifndef PORT_COMMON_H
|
||||
#define PORT_COMMON_H
|
||||
|
||||
#include "kernel.h"
|
||||
|
||||
/* Common port function declarations */
|
||||
void port_common_init(void);
|
||||
void port_common_context_switch(TaskHandle_t current, TaskHandle_t next);
|
||||
uint32_t* port_common_init_stack(TaskFunction_t function,
|
||||
void* parameters,
|
||||
uint32_t* stack_top,
|
||||
uint32_t stack_size);
|
||||
void port_common_fault_handler(uint32_t fault_type, uint32_t fault_address,
|
||||
uint32_t fault_status);
|
||||
void port_enter_safe_state(void);
|
||||
void port_set_safe_outputs(void);
|
||||
void port_log_fault(void* fault_info);
|
||||
|
||||
/* Architecture-specific functions that must be implemented */
|
||||
void port_init(void);
|
||||
void port_start_first_task(void);
|
||||
void port_context_switch(uint32_t* current_context, uint32_t* next_context);
|
||||
uint32_t* port_initialize_task_stack(TaskFunction_t function,
|
||||
void* parameters,
|
||||
uint32_t* stack_top);
|
||||
void port_save_context(uint32_t* context);
|
||||
void port_restore_context(uint32_t* context);
|
||||
void port_disable_interrupts(void);
|
||||
void port_enable_interrupts(void);
|
||||
uint32_t port_get_current_exception(void);
|
||||
void port_service_watchdog(void);
|
||||
void port_yield(void);
|
||||
void port_yield_from_isr(void);
|
||||
|
||||
#endif /* PORT_COMMON_H */
|
||||
Reference in New Issue
Block a user