2. 为rt_tick_increase增加HOOK机制 我们为 rt_tick_increase 增加了 HOOK 机制。这样在某些场景下,比如:当用户需要一个精度较高的时间基准,或者要做一些和系统心跳同频的事情的时候,就可以借助这个机制。利用前一部分的静态宏的方式或者使用API rt_tick_sethook设定hook函数的方式,在系统心跳的时候执行一些“非常...
2. 为rt_tick_increase增加HOOK机制 我们为 rt_tick_increase 增加了 HOOK 机制。这样在某些场景下,比如:当用户需要一个精度较高的时间基准,或者要做一些和系统心跳同频的事情的时候,就可以借助这个机制。利用前一部分的静态宏的方式或者使用API rt_tick_sethook设定hook函数的方式,在系统心跳的时候执行一些“非常...
static void (*rt_tick_hook)(void); 上面声明了一个函数指针rt_tick_hook,它用来存储用户注册的滴答钩子函数。 /** * This function will set a hook function, which will be invoked when tick increase * * * @param hook the hook function */ void rt_tick_sethook(void (*hook)(void)) { rt...
void rt_scheduler_sethook(void (*hook)(struct rt_thread* from, struct rt_thread* to)); /* 钩子函数 hook() 的声明 参数说明: 1、from 表示系统所要切换出的线程控制块指针 2、to 表示系统所要切换到的线程控制块指针 */ void hook(struct rt_thread* from, struct rt_thread* to); ——— 版...
static void cpu_usage_idle_hook(void){ rt_tick_t tick; rt_uint32_t count; volatile rt_uint32_t loop; if (total_count == 0) { /* get total count */ rt_enter_critical(); tick = rt_tick_get(); while(rt_tick_get() - tick < CPU_USAGE_CALC_TICK) { total_count ++; loop ...
可以看到每条日志都是按行显示,不同级别日志也有着不同的颜色。在日志最前面有当前系统的 tick ,中间有显示日志级别及标签,最后面是具体的日志内容。在本文后面也会重点介绍这些日志格式及配置说明。 4.2在中断ISR中使用 很多时候需要在中断 ISR 中输出日志,但是中断 ISR 可能会打断正在进行日志输出的线程。要保证中...
时钟节拍(特定的周期性中断)长度:1/RT_TICK_PER_SECOND 定时管理:硬件定时(HARD_TIMER)、软件定时(SOFT_TIMER) 定时器控制块:创建/初始化(rt_timer_create/init)、启动(rt_timer_start)、停止/控制(rt_timer_stop/control)、删除/脱离(rt_timer_delete/detach) ...
首先,分配内存的时间必须是确定的。一般内存管理算法是根据需要存储的数据的长度在内存中去寻找一个与这...
void rt_system_tick_init(void); void rt_system_timer_init(void); void rt_system_timer_thread_init(void); void rt_system_object_init(void); to)); void rt_thread_idle_sethook(void (*hook)(void)); void rt_mp_alloc_sethook(void (*hook)(struct rt_mempool *mp, void *block)); voi...
RT-Thread常见函数