Z-RTOS中API简介
在Z-RTOS中,有四类API(Application Interfaces) ,它们是1、Z-RTOS核API;2、驱动器组合API;3、任务运行参数组合API;4、应用任务组合API。
以下就是Z-RTOS的API表
RTOS_STATUS rtos_taskInit(void * buf, void * FAR srvwdt, unsigned char size);
/* package initialization */
RTOS_STATUS rtos_taskSpawn(
char priority, /* spawn a new task */
RTOS_FUNCPTR code, /* task code */
long arg0 //, long arg1 /* task argument */
);
RTOS_STATUS rtos_taskDelay(long tick);
RTOS_STATUS rtos_taskSuspend(unsigned char taskId);
RTOS_STATUS rtos_taskDelete(unsigned char taskId);
RTOS_STATUS rtos_taskResume(unsigned char taskId);
long rtos_taskShow (unsigned char tid);
short rtos_taskIdSelf(void);
void rtos_taskScheduler(void);
void rtos_taskTick(void);
unsigned long rtos_tickGet (void);
RTOS_SEM_ID rtos_semBCreate(short options, short initialState);
RTOS_STATUS rtos_semTake(RTOS_SEM_ID semId, long timeout);
RTOS_STATUS rtos_semGive(RTOS_SEM_ID semId);
RTOS_STATUS rtos_semFlush(RTOS_SEM_ID semId);
RTOS_STATUS rtos_semDelete(RTOS_SEM_ID semId);
RTOS_STATUS rtos_semWaitList(RTOS_SEM_ID semId);
short rtos_intLock(void);
void rtos_intUnlock(short lockKey);
long memPartitionInit(void * buf, unsigned long buf_size, unsigned short max_num_part);
void * rtos_malloc (long nBytes);
void rtos_free (void *ptr);
int rtos_memFindMax(void);
RTOS_STATUS rtos_iosInit(void* buf, short size);
RTOS_FD_TYPE rtos_iosDrvInstall(RTOS_FUNCPTR pRead, RTOS_FUNCPTR pWrite);
RTOS_FD_TYPE rtos_iosDrvDelete(short name);
RTOS_FD_TYPE rtos_iosDrvAdd(RTOS_FD_TYPE pDrv, short name, RTOS_FD_TYPE drvnum);
RTOS_FD_TYPE open(short name);
RTOS_FD_TYPE read(RTOS_FD_TYPE fd, char * buffer, size_t maxbytes);
RTOS_FD_TYPE write(RTOS_FD_TYPE fd, char * buffer, size_t maxbytes);
long getFds(RTOS_FD_TYPE fd);
void bzero(char *buffer,
/* buffer to be zeroed */ int nbytes /* number of bytes in buffer */);
RTOS_FD_TYPE select(fd_set* pRead, long timeout);
RTOS_FD_TYPE rtos_selWakeupAll(RTOS_FD_TYPE fd);
2) 驱动器组合(Device driver configuration)API
void rmADevice(DEV_ID_TYPE * FAR device);
void addDevice(DEV_ID_TYPE * FAR device);
long showDevice(U8 id);
3) 任务运行参数组(Parameter configuration) API
RTOS_STATUS addParameter(parameter_type * FAR ptr);
parameter_type * FAR getParameter(parameter_type * FAR ptr);
RTOS_STATUS setParameter(parameter_type * FAR ptr, long ref);
RTOS_STATUS defaultParameter(parameter_type * FAR ptr);
long getParameterByName(U16 name);
void flashParameter(void);
long showParameter(U8 id);
void paraInit(void);
long * FAR getTaskIDAddress(void);
4) 应用任务组合(Application task configuration)API
void rmAFeature(FEATURE_TASK_TYPE * FAR feature);
void addFeature(FEATURE_TASK_TYPE * FAR feature);
long showFeature(U8 id);
与其它实时操作系统的比较
目前在工程上较为流行的实时操作系统有windRiver’s vxWorks,windSEK,还有QNX,微软的Window CE,Linux相关的,和其它OSEK类型的实时操作系统。然而在Z-RTOS在以下的方面有技术上的优势:
1、Z-RTOS