|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
现在遇到一种应用场景:在系统初始化调度之前,需要用到SysTick_Handler;但如果这样肯定会调用rt_tick_increase()函数,必然hardfault
& a! N) h# u) d9 b4 S L+ N9 o请问,rt-thread是否有类似ucosii的OSRunning标志或措施,来保护rt_tick_increase()函数的调用呢?# y6 N' b! }: P
$ I0 _- @+ r' ^) a
ucos:
! a) H' |; b2 T4 X( Y
! m: [( c' J) w2 R4 K* r8 Ivoid SysTick_Handler(void)! @) [; l! y! M$ d+ z
{! q0 g: w E: |5 h$ y
OSIntEnter();$ q' v, d2 T" r7 x, K( e
if(OSRunning == OS_TRUE)7 v; H- Q- B0 N' N3 z
{
* o1 x( [6 S, i) F" eOSTimeTick();
! t7 U; o2 P. w4 w7 {9 D+ n}2 n" Q2 o5 h. H: a' i0 e) t/ F
OSIntExit();
, V& y, S5 n$ {1 \' i3 F}
/ q+ t/ `! f( `" Z5 fRT-Thread:
4 O- w4 \' L o: r; a1 x
% _* q9 q# x% }% e+ }$ g4 xvoid SysTick_Handler(void)$ z4 _0 S+ v# t7 A2 D" C
{
5 y$ K. d. A. s+ a$ brt_interrupt_enter();
; l# r N; w4 o% Vrt_tick_increase();
$ h$ `; c0 P& E$ P, k; |rt_interrupt_leave();' \6 I0 w6 J, L4 X f
} R0 T0 X& `6 O. E0 b" L/ f! H/ ^
|
|