|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
现在遇到一种应用场景:在系统初始化调度之前,需要用到SysTick_Handler;但如果这样肯定会调用rt_tick_increase()函数,必然hardfault+ A, E+ O3 z: O+ f
请问,rt-thread是否有类似ucosii的OSRunning标志或措施,来保护rt_tick_increase()函数的调用呢?" ?- t4 G' ]$ @, C% {
: X9 q% v* Q" U: F
ucos:8 D2 ]* S) y6 |! ]
+ D7 s8 @) l `* Yvoid SysTick_Handler(void)
3 c1 t4 C9 I3 i3 H) a& |{
0 r8 f1 {5 a' B s# tOSIntEnter();& |* B9 R& T4 l7 ?
if(OSRunning == OS_TRUE)1 M- \$ r2 _' _2 z9 a2 {2 A* I
{) O/ m+ H9 _1 G/ _& A
OSTimeTick();
9 ^2 h( _3 m: R0 }/ c/ A) {( W0 d}* l$ N8 d7 \9 J8 @8 F. K
OSIntExit();* s6 D/ r$ q- j
}
0 |% U: F+ N9 N' @RT-Thread:
( i, i/ w8 l. N( o- N4 r3 ^4 O/ F4 n! g5 }
void SysTick_Handler(void)! w$ x/ `2 V- ~" b/ R# D5 g
{
* A, W5 o5 D; i+ Vrt_interrupt_enter(); j2 W, I: v2 D' e; b# @
rt_tick_increase();
6 R" F: [. p) h! r0 C) prt_interrupt_leave();3 m3 r a3 G6 w. h$ f7 ?, I
}
; {/ v9 I3 t3 V6 Q6 k |
|