Files
player/Project_App_Calendar/App_Src/main/sys_api.h

184 lines
5.3 KiB
C
Raw Normal View History

2025-06-27 00:32:57 +08:00
#ifndef sys_api_h__
#define sys_api_h__
#include "stdint.h"
#include "stdlib.h"
#include "stddef.h"
typedef signed char rt_int8_t; /**< 8bit integer type */
typedef signed short rt_int16_t; /**< 16bit integer type */
typedef signed long rt_int32_t; /**< 32bit integer type */
typedef unsigned char rt_uint8_t; /**< 8bit unsigned integer type */
typedef unsigned short rt_uint16_t; /**< 16bit unsigned integer type */
typedef unsigned long rt_uint32_t; /**< 32bit unsigned integer type */
typedef int rt_bool_t; /**< boolean type */
typedef long rt_base_t; /**< Nbit CPU related date type */
typedef unsigned long rt_ubase_t; /**< Nbit unsigned CPU related data type */
typedef rt_base_t rt_err_t; /**< Type for error number */
typedef rt_uint32_t rt_tick_t; /**< Type for tick count */
typedef rt_ubase_t rt_size_t; /**< Type for size number */
/* 以下定义为指针定义,我修改过,但保证能正常使用 */
typedef struct{void *p;}* rt_thread_t;
typedef struct{void *p;}* rt_timer_t;
typedef struct{void *p;}* rt_sem_t;
typedef struct{void *p;}* rt_mutex_t;
typedef struct{void *p;}* rt_event_t;
typedef struct{void *p;}* rt_mailbox_t;
typedef struct{void *p;}* rt_mq_t;
int api_table_init(void);
rt_base_t rt_hw_interrupt_disable(void);
void rt_hw_interrupt_enable(rt_base_t level);
void rt_enter_critical(void);
void rt_exit_critical(void);
rt_err_t rt_thread_mdelay(rt_int32_t ms);
rt_thread_t rt_thread_create(const char *name,
void (*entry)(void *parameter),
void *parameter,
rt_uint32_t stack_size,
rt_uint8_t priority,
rt_uint32_t tick);
rt_err_t rt_thread_startup(rt_thread_t thread);
rt_err_t rt_thread_delete(rt_thread_t thread);
rt_timer_t rt_timer_create(const char *name,
void (*timeout)(void *parameter),
void *parameter,
rt_tick_t time,
rt_uint8_t flag);
rt_err_t rt_timer_delete(rt_timer_t timer);
rt_err_t rt_timer_start(rt_timer_t timer);
rt_err_t rt_timer_stop(rt_timer_t timer);
rt_sem_t rt_sem_create(const char *name, rt_uint32_t value, rt_uint8_t flag);
rt_err_t rt_sem_delete(rt_sem_t sem);
rt_err_t rt_sem_take(rt_sem_t sem, rt_int32_t time);
rt_err_t rt_sem_release(rt_sem_t sem);
rt_mutex_t rt_mutex_create(const char *name, rt_uint8_t flag);
rt_err_t rt_mutex_delete(rt_mutex_t mutex);
rt_err_t rt_mutex_take(rt_mutex_t mutex, rt_int32_t time);
rt_err_t rt_mutex_release(rt_mutex_t mutex);
rt_event_t rt_event_create(const char *name, rt_uint8_t flag);
rt_err_t rt_event_delete(rt_event_t event);
rt_err_t rt_event_send(rt_event_t event, rt_uint32_t set);
rt_err_t rt_event_recv(rt_event_t event,
rt_uint32_t set,
rt_uint8_t opt,
rt_int32_t timeout,
rt_uint32_t *recved);
rt_mailbox_t rt_mb_create(const char *name, rt_size_t size, rt_uint8_t flag);
rt_err_t rt_mb_delete(rt_mailbox_t mb);
rt_err_t rt_mb_send(rt_mailbox_t mb, rt_uint32_t value);
rt_err_t rt_mb_send_wait(rt_mailbox_t mb,
rt_uint32_t value,
rt_int32_t timeout);
rt_err_t rt_mb_recv(rt_mailbox_t mb, rt_uint32_t *value, rt_int32_t timeout);
rt_mq_t rt_mq_create(const char *name,
rt_size_t msg_size,
rt_size_t max_msgs,
rt_uint8_t flag);
rt_err_t rt_mq_delete(rt_mq_t mq);
rt_err_t rt_mq_send(rt_mq_t mq, void *buffer, rt_size_t size);
rt_err_t rt_mq_urgent(rt_mq_t mq, void *buffer, rt_size_t size);
rt_err_t rt_mq_recv(rt_mq_t mq,
void *buffer,
rt_size_t size,
rt_int32_t timeout);
//int printf_(const char *,...);
//int sprintf_(char * __restrict /*s*/, const char * __restrict /*format*/, ...);
//
//#define printf printf_
//#define sprintf sprintf_
void *malloc_(size_t size);
void free_(void *ptr);
void *realloc_(void *ptr,size_t size);
void *calloc_(size_t nmemb, size_t size);
//内存释放
void myfree(void *ptr);
//内存分配
void *mymalloc(size_t size);
//重新分配内存
void *myrealloc(void *ptr,size_t size);
//分配内存并清零
void *mycalloc (size_t size);
//分配内部内存
void *mymalloc_fast(size_t size);
//分配外置内存
void *mymalloc_ex(size_t size);
//释放CCM内存
void myfree_ccm(void *ptr);
//分配CCM内存
void *mymalloc_ccm(size_t size);
//设置内存
void mymemset(void *s,uint8_t c,size_t count);
//复制内存
void mymemcpy(void *des,void *src,size_t n);
//获得内存使用率
int mem_perused(void);
//获得内存使用率
int exmem_perused(void);
//获得内存使用率
int ccm_perused(void) ;
#endif