特性解析 从4.1.0版本开始,RT-Thread在保证向前兼容的基础上对原有的HOOK方式进行了改进,实现了如下的效果: 与原有使用函数指针进行“运行时刻”HOOK的方式兼容,依赖原有方式进行代码插入或HOOK的模块无需修改; 使用RT_USING_HOOK作为总开关 - 当未定义该宏时,将关闭所有HOOK功能,也不再生成任何相关代码
- 当定义该宏时,在未开启传统“函数指针HOOK”时,默认情况下也不再生成额外代码
允许用户通过“插入宏的方式”在编译时刻精细控制具体HOOK哪个位置 - 可以插入任意代码块——其中就包括函数指针、对普通函数的调用等等
具体使用方式可以参考共享者小伙伴的这篇**: 注意:非rtos资深用户,请谨慎使用HOOK机制 - 为rt_tick_increase增加HOOK机制
我们为 rt_tick_increase 增加了 HOOK 机制。这样在某些场景下,比如:当用户需要一个精度较高的时间基准,或者要做一些和系统心跳同频的事情的时候,就可以借助这个机制。利用前一部分的静态宏的方式或者使用API rt_tick_sethook设定hook函数的方式,在系统心跳的时候执行一些“非常简短”的操作。 注意:由于rt_tick_increase的执行频率较高,设定的HOOK函数一定不能执行复杂的操作,会增大系统负荷!
|