ca13734bf0
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.
41 lines
1.4 KiB
C
41 lines
1.4 KiB
C
/**
|
|
* @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 */
|