未验证 提交 70376d22 编写于 作者: B Bernard Xiong 提交者: GitHub

Merge pull request #4947 from supperthomas/supperthomas_comment

[kernel] add the comment of irq.c and timer.c
......@@ -9,6 +9,7 @@
* 2006-05-03 Bernard add IRQ_DEBUG
* 2016-08-09 ArdaFu add interrupt enter and leave hook.
* 2018-11-22 Jesven rt_interrupt_get_nest function add disable irq
* 2021-08-15 Supperthomas fix the comment
*/
#include <rthw.h>
......@@ -21,19 +22,26 @@ static void (*rt_interrupt_leave_hook)(void);
/**
* @ingroup Hook
* This function set a hook function when the system enter a interrupt
*
* @brief This function set a hook function when the system enter a interrupt
*
* @note the hook function must be simple and never be blocked or suspend.
*
* @param hook The function point to be called
*/
void rt_interrupt_enter_sethook(void (*hook)(void))
{
rt_interrupt_enter_hook = hook;
}
/**
* @ingroup Hook
* This function set a hook function when the system exit a interrupt.
*
* @brief This function set a hook function when the system exit a interrupt.
*
* @note the hook function must be simple and never be blocked or suspend.
*
* @param hook The function point to be called
*/
void rt_interrupt_leave_sethook(void (*hook)(void))
{
......@@ -53,8 +61,9 @@ void rt_interrupt_leave_sethook(void (*hook)(void))
volatile rt_uint8_t rt_interrupt_nest = 0;
#endif /* RT_USING_SMP */
/**
* This function will be invoked by BSP, when enter interrupt service routine
* @brief This function will be invoked by BSP, when enter interrupt service routine
*
* @note please don't invoke this routine in application
*
......@@ -74,8 +83,9 @@ void rt_interrupt_enter(void)
}
RTM_EXPORT(rt_interrupt_enter);
/**
* This function will be invoked by BSP, when leave interrupt service routine
* @brief This function will be invoked by BSP, when leave interrupt service routine
*
* @note please don't invoke this routine in application
*
......@@ -95,13 +105,14 @@ void rt_interrupt_leave(void)
}
RTM_EXPORT(rt_interrupt_leave);
/**
* This function will return the nest of interrupt.
* @brief This function will return the nest of interrupt.
*
* User application can invoke this function to get whether current
* context is interrupt context.
*
* @return the number of nested interrupts.
* @return rt_uint8_t the number of nested interrupts.
*/
RT_WEAK rt_uint8_t rt_interrupt_get_nest(void)
{
......
......@@ -16,6 +16,7 @@
* 2012-12-15 Bernard fix the next timeout issue in soft timer
* 2014-07-12 Bernard does not lock scheduler when invoking soft-timer
* timeout function.
* 2021-08-15 supperthomas add the comment
*/
#include <rtthread.h>
......@@ -59,10 +60,10 @@ static void (*rt_timer_exit_hook)(struct rt_timer *timer);
/**@{*/
/**
* This function will set a hook function, which will be invoked when enter
* timer timeout callback function.
* @brief This function will set a hook function on timer,
* which will be invoked when enter timer timeout callback function.
*
* @param hook the hook function
* @param hook the function point of timer
*/
void rt_timer_enter_sethook(void (*hook)(struct rt_timer *timer))
{
......@@ -70,10 +71,10 @@ void rt_timer_enter_sethook(void (*hook)(struct rt_timer *timer))
}
/**
* This function will set a hook function, which will be invoked when exit
* timer timeout callback function.
* @brief This function will set a hook function, which will be
* invoked when exit * timer timeout callback function.
*
* @param hook the hook function
* @param hook the function point of timer
*/
void rt_timer_exit_sethook(void (*hook)(struct rt_timer *timer))
{
......@@ -83,6 +84,20 @@ void rt_timer_exit_sethook(void (*hook)(struct rt_timer *timer))
/**@}*/
#endif /* RT_USING_HOOK */
/**
* @brief [internal] the init funtion of timer
*
* the internal called function of rt_timer_init
*
* @see rt_timer_init
*
* @param timer the static timer object
* @param timeout the timeout function
* @param parameter the parameter of timeout function
* @param time the tick of timer
* @param flag the flag of timer
*/
static void _rt_timer_init(rt_timer_t timer,
void (*timeout)(void *parameter),
void *parameter,
......@@ -110,7 +125,13 @@ static void _rt_timer_init(rt_timer_t timer,
}
}
/* the fist timer always in the last row */
/**
* @brief find the next emtpy timer
*
* @param timer_list the timer of the next timeout
*
* @return rt_tick_t the point of timer
*/
static rt_tick_t rt_timer_list_next_timeout(rt_list_t timer_list[])
{
struct rt_timer *timer;
......@@ -133,6 +154,11 @@ static rt_tick_t rt_timer_list_next_timeout(rt_list_t timer_list[])
return timeout_tick;
}
/**
* @brief remove the timer
*
* @param timer the point of timer
*/
rt_inline void _rt_timer_remove(rt_timer_t timer)
{
int i;
......@@ -144,6 +170,12 @@ rt_inline void _rt_timer_remove(rt_timer_t timer)
}
#if RT_DEBUG_TIMER
/**
* @brief the number of timer
*
* @param timer
* @return int the count
*/
static int rt_timer_count_height(struct rt_timer *timer)
{
int i, cnt = 0;
......@@ -155,7 +187,11 @@ static int rt_timer_count_height(struct rt_timer *timer)
}
return cnt;
}
/**
* @brief dump the all timer information
*
* @param timer_heads the head of timer
*/
void rt_timer_dump(rt_list_t timer_heads[])
{
rt_list_t *list;
......@@ -180,9 +216,8 @@ void rt_timer_dump(rt_list_t timer_heads[])
/**@{*/
/**
* This function will initialize a timer, normally this function is used to
* initialize a static timer object.
*
* @brief This function will initialize a timer
* normally this function is used to initialize a static timer object.
* @param timer the static timer object
* @param name the name of timer
* @param timeout the timeout function
......@@ -208,11 +243,10 @@ void rt_timer_init(rt_timer_t timer,
RTM_EXPORT(rt_timer_init);
/**
* This function will detach a timer from timer management.
*
* @param timer the static timer object
* @brief This function will detach a timer from timer management.
*
* @return the operation status, RT_EOK on OK; RT_ERROR on error
* @param timer the timer to be detached
* @return rt_err_t RT_EOK
*/
rt_err_t rt_timer_detach(rt_timer_t timer)
{
......@@ -241,7 +275,7 @@ RTM_EXPORT(rt_timer_detach);
#ifdef RT_USING_HEAP
/**
* This function will create a timer
* @brief This function will create a timer
*
* @param name the name of timer
* @param timeout the timeout function
......@@ -273,7 +307,7 @@ rt_timer_t rt_timer_create(const char *name,
RTM_EXPORT(rt_timer_create);
/**
* This function will delete a timer and release timer memory
* @brief This function will delete a timer and release timer memory
*
* @param timer the timer to be deleted
*
......@@ -306,7 +340,7 @@ RTM_EXPORT(rt_timer_delete);
#endif /* RT_USING_HEAP */
/**
* This function will start the timer
* @brief This function will start the timer
*
* @param timer the timer to be started
*
......@@ -429,7 +463,7 @@ rt_err_t rt_timer_start(rt_timer_t timer)
RTM_EXPORT(rt_timer_start);
/**
* This function will stop the timer
* @brief This function will stop the timer
*
* @param timer the timer to be stopped
*
......@@ -463,7 +497,7 @@ rt_err_t rt_timer_stop(rt_timer_t timer)
RTM_EXPORT(rt_timer_stop);
/**
* This function will get or set some options of the timer
* @brief This function will get or set some options of the timer
*
* @param timer the timer to be get or set
* @param cmd the control command
......@@ -521,8 +555,8 @@ rt_err_t rt_timer_control(rt_timer_t timer, int cmd, void *arg)
RTM_EXPORT(rt_timer_control);
/**
* This function will check timer list, if a timeout event happens, the
* corresponding timeout function will be invoked.
* @brief This function will check timer list, if a timeout event happens,
* the corresponding timeout function will be invoked.
*
* @note this function shall be invoked in operating system timer interrupt.
*/
......@@ -596,7 +630,7 @@ void rt_timer_check(void)
}
/**
* This function will return the next timeout tick in the system.
* @brief This function will return the next timeout tick in the system.
*
* @return the next timeout tick in the system
*/
......@@ -607,7 +641,7 @@ rt_tick_t rt_timer_next_timeout_tick(void)
#ifdef RT_USING_TIMER_SOFT
/**
* This function will check software-timer list, if a timeout event happens, the
* @brief This function will check software-timer list, if a timeout event happens, the
* corresponding timeout function will be invoked.
*/
void rt_soft_timer_check(void)
......@@ -684,7 +718,11 @@ void rt_soft_timer_check(void)
RT_DEBUG_LOG(RT_DEBUG_TIMER, ("software timer check leave\n"));
}
/* system timer thread entry */
/**
* @brief system timer thread entry
*
* @param parameter
*/
static void rt_thread_timer_entry(void *parameter)
{
rt_tick_t next_timeout;
......@@ -723,7 +761,7 @@ static void rt_thread_timer_entry(void *parameter)
/**
* @ingroup SystemInit
*
* This function will initialize system timer
* @brief This function will initialize system timer
*/
void rt_system_timer_init(void)
{
......@@ -738,7 +776,7 @@ void rt_system_timer_init(void)
/**
* @ingroup SystemInit
*
* This function will initialize system timer thread
* @brief This function will initialize system timer thread
*/
void rt_system_timer_thread_init(void)
{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册