|
|
int rtthread_startup(void)
4 Q. W3 s9 I1 {# L5 i' Y9 Y/ Z' b1 }7 h) V{
2 M, V/ [' }2 M4 a1 P4 f, k% L) ~7 T5 v( c+ O; n6 M) j/ u, f
rt_hw_interrupt_disable();6 B. W, f. }! V: D! J. \" c _$ k: G
SCB->VTOR= FLASH_BASE | 0X10000;5 T5 n$ T# c6 F
/* board level initalization
' S* O% @3 P1 M6 S/ Q* NOTE: please initialize heap inside board initialization.0 l7 w# `1 n7 I: U9 b" I( S
*/9 V! ^$ y, r" z8 C
rt_hw_board_init();
1 c" p6 P3 v* q6 N8 ?9 m$ p$ G/* show RT-Thread version */' Y- w2 ]# Z: o$ s
rt_show_version();9 r6 `" l8 }: ?) _' v, |
/* timer system initialization */
4 p9 k( Z4 r, [rt_system_timer_init();
8 p5 c+ B: j X/ q1 D/* scheduler system initialization */7 y$ _5 F; R( `3 i' r' ~4 [
rt_system_scheduler_init();
/ \1 Q# S; S3 Z: rifdef RT_USING_SIGNALS# ]! y3 s* ? m, G, E+ X' |
/* signal system initialization */
4 O9 c1 D( K) L- Z7 r; drt_system_signal_init();! z( Q }2 M8 r& s3 e
endif
1 _! N, V) A f6 w$ }/* create init_thread */
/ ^, @$ e" ], [6 s% ^/ ]7 zrt_application_init();" @0 V: e$ Q% a( _; Z
/* timer thread initialization */
# c5 q2 |3 c" f% s, m; Drt_system_timer_thread_init();' z0 p- G5 q6 `3 M
/* idle thread initialization */4 Z9 `( f7 i H/ {
rt_thread_idle_init();
7 d: k3 _: K) ?/* start scheduler */; f% k3 ~/ Q) q/ u% p: Q
rt_system_scheduler_start();
( I, f( l5 d. d8 u" d! m; m/ f& C/* never reach here */
1 `9 j. F/ ~) o* h- `' q# z2 c9 Zreturn 0;
0 x7 C. R6 [& D( K& @. C, l}
7 q8 D6 |+ Q) o4 L+ T/ J7 Q按照这样加偏移向量试一下
1 T" `, t9 f) l+ i7 s |
|