|
|
int rtthread_startup(void)
+ Q5 z# b: [6 f* C{
6 J& h" \+ W; A+ p' S7 t' d% a: E6 d0 u; a* U3 i
rt_hw_interrupt_disable();
3 k) z& W5 F0 s* v2 `$ a- LSCB->VTOR= FLASH_BASE | 0X10000;
2 w' f. H+ E3 g7 N0 S# O4 K/* board level initalization \9 G+ _0 t8 S; R% @2 ~5 A# c
* NOTE: please initialize heap inside board initialization.5 Z" M# G; f" e7 a" V& ?0 m
*/% P: h" u! F8 K" ~2 ?$ n
rt_hw_board_init();; h% V9 Q3 F# v* p8 U/ P
/* show RT-Thread version */' Q, y3 l/ i* c2 ^- g1 b9 F# `
rt_show_version();# \" F$ Y1 X2 e2 s; b* ^* N
/* timer system initialization */
" M" ~+ K+ g4 p0 jrt_system_timer_init();+ Q7 I+ Q+ s6 ?' ? C8 [
/* scheduler system initialization */; N# B) q6 T; e8 E$ h; c# }( Q
rt_system_scheduler_init();
! K. Z& g2 v! F- M" I" A1 l- k+ Bifdef RT_USING_SIGNALS* c5 l9 d/ z% W
/* signal system initialization */
* z" Q6 v9 l% I4 }# ]4 p; j( P) e/ srt_system_signal_init();1 |, Z* R; F; ]) L3 x9 J) e
endif
. Q% `: ?8 Z H7 t y3 c3 L5 `- b/* create init_thread */
a; S9 e! f6 N) c! A+ srt_application_init();' S. n7 G. a0 |
/* timer thread initialization */
/ A8 S& [* \6 P9 ^2 v( n$ Krt_system_timer_thread_init();
* i: [" O% A7 t% v, }: ^/* idle thread initialization */
2 P6 t$ t3 R3 W+ ^4 m5 N# o( grt_thread_idle_init();3 @, p5 I9 w5 W* y" W
/* start scheduler */
0 @. Z4 N1 R# q" Z, D" q& Grt_system_scheduler_start();
3 w9 K/ L. _/ N- R4 A: k/* never reach here */# j) @/ X3 I% s% V, I
return 0;
! r0 a+ @" c k% q}+ Y' N3 J5 V, L# i, Y1 _* T
按照这样加偏移向量试一下- e6 m8 c2 ~ r$ Y
|
|