|
|
int rtthread_startup(void)
, O- K2 N! I" I( |7 S: b+ e; Z4 v{2 k. l0 w! l. V1 L9 ]; n) D2 l: N( m
' w. h+ d9 b0 j6 _! c; E' Jrt_hw_interrupt_disable(); R; U% f8 x- G
SCB->VTOR= FLASH_BASE | 0X10000;! `: V* L' M8 D! @
/* board level initalization
5 b2 y" S3 h% _+ ?6 E0 L* NOTE: please initialize heap inside board initialization.
- R( |3 f1 x% x*/
/ @$ h* Z! b9 v1 ~1 H2 M+ ]. s- ?rt_hw_board_init();( C: I) s) n" q9 I0 K. F$ K: e
/* show RT-Thread version */1 d% D: @/ F$ A! T
rt_show_version();
6 F- Z! S3 n2 k5 r- ^/ H/* timer system initialization */
! L l4 S8 n; Q u1 @rt_system_timer_init();
6 |) U' e7 Q" K- U9 H5 d/* scheduler system initialization */, S7 {. A. k5 m k
rt_system_scheduler_init();6 y. t# c2 S c3 R
ifdef RT_USING_SIGNALS- j; }% C3 H+ U7 {8 X
/* signal system initialization */
; _8 T* s1 E. d( H* d) ^) A' zrt_system_signal_init();
! W' d# M' K: \, lendif" v+ C v. s( s1 r& E
/* create init_thread */
9 \% t; i' |+ N1 D @rt_application_init();
7 c& v. |3 \3 |9 s+ C) Z0 F6 @/* timer thread initialization */
0 P* Y- I5 ?- I: |6 urt_system_timer_thread_init();( R+ N7 a3 ^% H y; o
/* idle thread initialization */
7 S- m2 c( @, u& A* V" z0 W: frt_thread_idle_init();
, b+ u5 M4 q" R( T* |/* start scheduler */6 a& w4 A/ z7 O: {
rt_system_scheduler_start();
4 G% U5 D; Y6 L: L/* never reach here */
" V+ D N& |/ l! I, t+ M3 q" j( b, k" Areturn 0;% P) Q7 G- t( I j% i. H
}- `) B7 ~# x" q+ Z. b
按照这样加偏移向量试一下4 t& |$ c8 T: S1 R# \2 r' h4 o6 l- \
|
|