|
|
这个程序是测试通过的 其中的地址就是 _c_int00+ `6 R4 j- s& `/ N
E$ u: ^/ H* E- /****************************************************************************/
7 l. S! M |8 h3 D0 M# m - /* */+ [" i& {! m+ l+ m4 q
- /* BootMenu */
9 F, B6 v+ K, ?4 s# ? - /* */
' p9 |( K, I8 |1 F: x4 d - /* 2014年11月07日 */5 d& [6 F- {9 y$ q) D
- /* */
2 D6 { ]/ l% S3 N* B( ] - /****************************************************************************/2 T$ m2 o/ L. x& F0 ]
- #include "uartStdio.h", y: T/ X% x' Q) T& g! f
- H: O- I5 s0 T$ w) y2 e- /****************************************************************************/5 p2 a9 M& |0 t, ?# s
- /* */
3 j% C* ^& M% |( W A% O& f( I - /* 宏定义 */" k c \% S0 q% ~; c5 C( L+ a
- /* */; |3 w3 ]. e5 G
- /****************************************************************************/& j* m9 z% v; V$ Y4 \
- % R) T3 t% \; U) [2 ^3 B0 \! a$ n% ]
- /****************************************************************************/
& a! W/ Z$ H% `( h% p - /* */" ], v& `9 ?% x: p! n% E
- /* 全局变量 */# w2 F* F) b! c) A0 C
- /* */ @5 v6 C- h* N4 i9 q) v
- /****************************************************************************/9 W. {3 A! Q- u
- unsigned int EntryPoint = 0xC0000000;" \. d/ e S5 s4 D! U+ [( P- @
- 9 C% Y1 p% j% i9 k! i5 [
- /****************************************************************************/' Q9 {& k* w9 d* a f
- /* */, u% U8 t4 N2 f0 V! `
- /* 函数声明 */5 R: r3 P6 Q1 `8 A6 C. Y
- /* */
* H% G% |0 Y8 O8 S0 X3 D4 i/ t9 ? - /****************************************************************************/
1 P& @) d8 B- ?* A9 d4 O - void (*AppEntry)();
) `, M7 z. |7 B - ' N1 L) k7 N' w N0 \' H0 S: \
- /****************************************************************************/2 k/ x/ ]9 k- C
- /* */
7 j6 S7 F5 f" G4 U; X0 ?; U, p9 N - /* 主函数 */( G! d! _( t& V3 M3 T
- /* */
* L- @) }$ @2 B7 X - /****************************************************************************/( @3 u N! T- E# m" U8 D
- int main(void)5 Q$ {1 A$ T0 f; u2 R
- {
/ f# x2 k3 Z" y6 G - UARTStdioInit();5 T3 u; X( N$ r
- 6 |. |7 q7 v& `- Q, d& e' n
- UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");
6 o: R( c8 b. w1 T/ S1 O4 Z
" t2 J( b5 \+ t" i- UARTprintf("0.StarterWare LED Test\r\n");
: g& j2 k' b9 x! B7 `/ Z# Z - UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");
9 a9 m- X/ M& B0 u' }$ c8 M - UARTprintf("2.StarterWare USB OTG HOST Test\r\n");5 N7 S4 D. R9 W+ \2 q" D
- UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");' ^5 m1 J# }, j l) C' K
- & Q* Y+ _ ?3 V; X% a: v: ?
- UARTprintf("\r\n");4 A% a4 i4 f3 Q
# R* T* b$ e2 |+ N% [2 Y& Y& U- unsigned char val, status = 1;6 k7 q) }: f: n5 s! p9 \7 ]7 J0 {
- Choice:
5 z4 P1 L; y _- J+ ^8 b: D0 J - val = UARTGetNum();
. n1 l- J* C- z6 ]* ^. t& ^ - UARTprintf("\r\n");- ^6 X! s c! I
9 @1 ?. c) I1 J- switch(val)
( v3 _: |( w+ L r& F - {9 t6 i4 C4 ]/ W( _
- case 0: EntryPoint = 0xC1000000; break;
( j4 y) D( Z, Y2 U, a: k' H - case 1: EntryPoint = 0xC0251FE0; break;
4 H2 q. Z! l" b8 Q& R) I* z e0 d, C7 b - case 2: EntryPoint = 0xC2000000; break;: Z3 f, M% x6 X% K9 K5 e, Z
- case 3: EntryPoint = 0xC541DEE0; break;% ^% c e5 V% g/ H. B+ L% e
- & m# W' L1 `: Q. n. `0 h
- default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;. ]" Q# M. k8 D% N
- }/ l, D+ m/ p6 L0 h& x, o* P
- ; v- q9 H$ w% u6 o/ ~$ X
- if(status != 0)
$ B+ @2 F9 c" E2 _: B$ j - {/ _( K! D" U2 H; |7 @+ B6 c0 t
- UARTprintf("Starting Application ......\n\r\n");% ?) p+ A, d j, U
- 6 G4 E! F* I" I* o9 ]2 i& n7 ]
- AppEntry = (void (*)(void))EntryPoint;# ^2 b& Y, C' |# v- H4 p6 M
- (*AppEntry)();
# G+ Z/ m, ~ d+ d - }! f- A! |( g- r4 g
- 2 b' o" o7 C3 Z# ^- }7 M
- return 0;) w8 W' s. r) } s' |7 O
- }
. o) X0 b% I. `% t( w& ^
复制代码
0 n- j" E' ]1 {" U! A8 d* ?! X! d
9 o9 O. k9 Q2 ~) J1 O |
|