From 9da150dbae2164c85dd242d2ac978170203af585 Mon Sep 17 00:00:00 2001 From: Yan_yan Date: Thu, 5 Nov 2020 17:45:58 +0800 Subject: [PATCH] insert content of kernal/tmr.md --- docs/doc/kernel/imagesrc/tmr_config.png | Bin 0 -> 41497 bytes docs/doc/kernel/imagesrc/tmr_process.png | Bin 0 -> 50188 bytes docs/doc/kernel/tmr.md | 150 ++++++++++++++++++++++- 3 files changed, 149 insertions(+), 1 deletion(-) create mode 100644 docs/doc/kernel/imagesrc/tmr_config.png create mode 100644 docs/doc/kernel/imagesrc/tmr_process.png diff --git a/docs/doc/kernel/imagesrc/tmr_config.png b/docs/doc/kernel/imagesrc/tmr_config.png new file mode 100644 index 0000000000000000000000000000000000000000..c98920c139e483589c55c89e523003e2a334e561 GIT binary patch literal 41497 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%0A{N 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

JC_BbHU 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 URPWp2PJurVMGb|LdyilIAJbyavH$=8 literal 0 HcmV?d00001 diff --git a/docs/doc/kernel/tmr.md b/docs/doc/kernel/tmr.md index ba6f687..ed148f9 100644 --- a/docs/doc/kernel/tmr.md +++ b/docs/doc/kernel/tmr.md @@ -1 +1,149 @@ -# 节拍机制 \ No newline at end of file +# 节拍机制 + +## 简介 +每一个操作系统都需要一个时钟计数,提供“心跳”计数,该时钟可以提供系统处理所有和时钟相关的事件。 +XiUOS的“心跳”通过芯片提供的硬件定时器产生的周期性中断进行计数,XiUOS可以在menuconfig界面进行配置,配置单位为毫秒。 +配置界面如下 + + + +界面中的数值将配置给变量XS_TICK_PER_SECOND,该变量解释为每秒钟支持的节拍数(tick)。例如,XS_TICK_PER_SECOND +配置为100,则tick节拍表示10毫秒,即一个时间片(timeslice)为10毫秒。 +当节拍配置成功后,系统支持的调度算法、软件定时器等依赖于该时钟周期服务的事件就可以正常工作了。例如,在XiUOS支持 +的时间片轮转算法当中,每进行的一次线程切换为一个tick(10ms)。 + +节拍计数执行流程如下图所示 + + + +在每一个定时器中断到来时,进行常规的中断执行流,定时器按照每一个tick单位进行触发中断,在中断服务程序当中进行自增,并对当前运行线程的时间片进行计算;同步可处理定时器的计数时间。 + +## 函数接口 + +```c +xs_ticks_x xs_CalculteTickFromTimeMs(xs_uint32 time_ms); +``` +该函数用于获取毫秒时间转化成节拍数。 + +| 参数 | 描述 | +| --- | --- | +| time_ms | 毫秒时间 | +```c +xs_uint32 xs_CalculteTimeMsFromTick(xs_ticks_x ticks); +``` +该函数用于获取节拍数转换成毫秒时间。 + +| 参数 | 描述 | +| --- | --- | +| ticks | 节拍数 | +```c +xs_uint32 xs_CurrentTicksGain(void); +``` +该函数用于获取当前的时钟节拍数。 + +## 定时器机制 +软件定时器模块根据系统的节拍心跳(tick)提供软件定时服务,用户可以设定固定的超时时间, +当系统运行的节拍数到达用户设定的超时时间时,便执行用户定义的超时回调函数进行业务处理。 +软件定时器的存在可以解决硬件定时器数量不足的问题。 + +### 软件定时器结构定义 +```c +#define TRIGGE_WAY_ONCE (1 << 0) +#define TRIGGE_WAY_PERIODIC (1 << 1) + +struct xs_Timer +{ + xs_uint8 id; ///< 定时器的ID + xs_uint8 trigge_mode; ///< 单次触发还是周期触发 + void (*func_callback)(void *param); ///< 定时器回调函数 + void *param; ///< 定时器回调函数的参数 + xs_tick_x origin_timeslice; ///< 超时时间 + xs_tick_x deadline_timeslice; ///< 截止时间 + XS_DOUBLE_LINKLIST link; ///< 管理链表 + XS_DOUBLE_LINKLIST levels[XS_TIMER_SKIP_LIST_LEVEL]; ///< 查询链表 +}; +typedef struct xs_Timer *xs_timer_x; +``` +| 成员 | 描述 | +| --- | --- | +| id | 软件定时器ID,用于唯一标识一个软件定时器 | +| trigge_mode | 定时器的触发模式,包含单次触发和周期触发两种方式 | +| func_callback | 定时器超时回调函数 | +| param | 定时器超时回调函数的参数 | +| origin_timeslice | 初始化的超时时间 | +| deadline_timeslice | 截止时间 | +| link | 系统中所有定时器构成的链表 | +| levels | 查询链表 | + +### 软件定时器接口 +定时器用户操作结构体定义如下: + +```c +#define TRIGGE_WAY_ONCE (1 << 0) +#define TRIGGE_WAY_PERIODIC (1 << 1) + +struct xs_utimer +{ + xs_uint8 trigge_way; ///< 触发方式,包括单次触发和周期触发方式 + void (*func_callback)(void *param); ///< 超时回调函数 + void *func_param; ///< 回调函数的参数 + xs_tick_x ticks; ///< 定时时间,单位为 tick +}; +typedef struct xs_utimer xs_utimer_x; +``` +| 成员 | 描述 | +| --- | --- | +| trigge_way | 触发方式,可以配置为宏TRIGGE_WAY_ONCE和TRIGGE_WAY_PERIODIC | +| func_callback | 软件定时器回调函数 | +| func_param | 软件定时器回调函数参数 | +| ticks | 配置需要等待的超时时间 | + +```c +xs_int32 xs_UserTimerCreate(xs_utimer_x* timer); +``` +该函数用于创建一个软件定时器,并返回创建成功的软件定时器的ID,ID默认范围0-255,可配置。 + +| 参数 | 描述 | +| --- | --- | +| timer | 软件定时器初始化结构体 | + +```c +void xs_UserTimerDelete(xs_uint16 id); +``` +该函数用于删除一个软件定时器。 + +| 参数 | 描述 | +| --- | --- | +| id | 待删除的软件定时器ID | + +```c +xs_int32 xs_UserTimerStartRun(xs_uint16 id); +``` +该函数用于启动一个软件定时器。 + +| 参数 | 描述 | +| --- | --- | +| id | 已创建且待运行的软件定时器ID | + +```c +xs_int32 xs_UserTimerQuitRun(xs_uint16 id); +``` +该函数用于停止一个软件定时器。 + +| 参数 | 描述 | +| --- | --- | +| id | 待停止运行的软件定时器ID | + +```c +xs_int32 xs_UserTimerModify(xs_uint16 id, xs_tick_x ticks); +``` +该函数用于修改一个软件定时器的超时时间。 + +| 参数 | 描述 | +| --- | --- | +| id | 待修改超时时间的软件定时器ID | +| ticks | 超时时间 | + +```c +struct xs_Timer* xs_UserTimerSearch(xs_uint16 id); +```