HRTOS HRTOS API 手册

系统概览

HRTOS 是一个基于优先级抢占调度的实时操作系统,支持多任务运行, 同优先级任务采用时间片轮转机制。 系统提供完整的内核能力,包括中断管理、任务同步、定时器管理、 进程通信、文件管理、互斥机制以及内存管理等模块。 在实时性与可靠性方面,HRTOS 支持互斥体优先级继承机制, 有效避免优先级反转问题;同时对中断处理进行了优化设计, 将处理器支持的 32 个中断源进行集中管理,显著提升中断可控性, 并保障任务堆栈安全,同时减少对有限硬件堆栈空间的占用。 系统支持动态优先级调整,任务可灵活进行创建、挂起、就绪与删除, 并通过内存池机制实现高效的动态内存分配。

1. 任务管理

函数名功能输入返回嵌套层识别号
os_task_ready(unsigned char id)挂起→就绪任务编号-1/00B007
os_task_hang(unsigned char id)就绪→挂起任务编号-1/00B002
os_task_function(unsigned char id)指定下次运行任务任务编号-1/00B005
os_task_delete(unsigned char id)删除任务任务编号-1/00B104
os_task_exit()退出当前任务0B003
os_task_state(unsigned char id)查询任务状态任务编号0~4/-10B101

2. 优先级管理

函数名功能输入返回嵌套层
os_priority_query(unsigned char id)查询任务优先级任务编号0-8/-10
os_priority_modify(unsigned char id,unsigned char pr)修改优先级任务编号,目标优先级-1/0/编号0

3. 内核相关

函数名功能输入返回嵌套层
os_rtos(unsigned char id)选择任务模式0/10/-10
os_scheduling(unsigned char id)选择调度器0/10/-10
os_task(unsigned int addr,unsigned char id,unsigned char pr,unsigned char sd)注册任务任务地址,编号,优先级,嵌套层0/-10
os_interrupt_exit()中断退出0
os_dispatch_id(U8 INTERRUPT_ID)选择调度器中断源0~310/-10

4. 任务同步

函数名功能输入返回
os_semaphore(u8 id)同步调用0~150/-1
os_semaphore_control(u8 id,u8 x)同步控制0~15,x0/-1

5. 锁

函数名功能输入返回
os_lock_init()初始化锁
os_lock(unsigned char i)取得锁0~70/-1
os_lock_release(unsigned char id)释放锁0~70/-1

6. 时间

函数名功能输入返回
os_nop()短延时
os_timer_length(unsigned char j,unsigned int i)定时器管理片数,大小0/-1
os_wait(u8 i,u8 j)系统延时类型,次数0/-1
os_wait1(u8 i)系统延时子集片数
os_wait2(u16 j)延时时钟数

7. 信号

函数名功能输入返回
os_event_out(u8 id)发送信号0~150/-1
os_event_xy(u8 id)查询信号0~150/1/-1
os_event_del(u8 id)删除信号0~150/-1

8. 中断

函数名功能输入返回
os_inter()中断编号查询编号

9. 邮箱

函数名功能输入返回
os_news_send(id,oo)私有邮箱发送0~15,内容0/-1
os_news_send1(id,oo)单字节公共邮箱发送0~7,内容0/-1
os_news_send2(id,oo)双字节公共邮箱发送0~7,内容0/-1
os_news_query(id)私有邮箱查询0~150/-1
os_news_delete(id)私有邮箱清除0~150/-1

10. MyOS

函数名功能输入返回
os_operate(u16 addr)运行指定函数地址
os_task_id()查询当前任务编号编号
os_task_service(u8 id)记录下一个运行任务任务编号
os_task_release(u8 id)运行任务任务编号
os_task_protect(u8 id)保护之前运行任务任务编号
os_select(u8 id)选择下一个任务当前任务编号下一任务编号
os_inter_sp()查询中断堆栈地址堆栈地址