嵌入式开发者社区

标题: 交叉编译器 疑问 [打印本页]

作者: 蜡烛    时间: 2016-6-4 20:49
标题: 交叉编译器 疑问
在工具目录下 有两个交叉编译工具4 f# B1 P: ?9 r
arago-2011.09-armv5te-linux-gnueabi-sdk
: ~8 ]6 E0 o+ w: N2 v& Q: parm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu
9 N6 p0 p( \, `, P  g7 S这两个 交叉编译 工具 有什么区别  
2 g8 X& v7 @6 s. V! y' @: n8 [; i6 y

3 F* v/ j& X! I) m& ]
作者: tenny    时间: 2016-6-8 16:07
有区别的,具体的说不上。推荐使用 arago
作者: Jackindata    时间: 2016-6-8 17:03
arago 对 TI 的支持应该更好9 A& W& a6 s9 |. H
http://arago-project.org/wiki/index.php/Main_Page
作者: 蜡烛    时间: 2016-6-8 22:54
Jackindata 发表于 2016-6-8 17:036 K4 C4 D9 I- _1 n' r$ C! P
arago 对 TI 的支持应该更好' _) n3 w! }. n1 F4 [) h4 z
http://arago-project.org/wiki/index.php/Main_Page
4 G$ h4 V! E  h- {
的确 文章里说 支持和更新 都优先支持 arago , 在实际编译出来输出文件 不知道有没有什么 优化。
作者: 蜡烛    时间: 2016-6-9 23:03
源码:
' D7 @4 e; X7 P' q9 P  @5 Z  1 #include<stdio.h>                                                           * U. y4 Z! x. {$ J, y% c( ?
  2 #include<math.h>6 B) \% k2 ]: q
  3 int main(int argc,char* argv[])
  W" ]- d3 F" v8 ~3 }: W2 @9 k  4 {6 I6 |1 q" Y' b8 `
  5     int a,b,c;5 Z1 x# R" s- a5 ?% `, Z
  6     c = a * b;) x1 `7 P5 D* ^% S& r$ ^
  7     return 0;
: V/ y) d& \, e  8 }8 J% E1 n+ Z6 c5 d; E# ^0 L
2 q  X* F! r. ?. w
下面是两个编译器 编译出来的差异  差异好像不是很大  arm汇编不是很熟悉 大家看看1 l$ _: P' _1 Y/ }6 \4 H
none:
4 i( H! ]% X( b. O9 Z5 u000082e0 <_init>:
) U" L& p: i  M& `( ~- Z    82e0:        e92d4010         push        {r4, lr}: M2 I/ N; N) R# P6 R
    82e4:        eb00001c         bl        835c <call_gmon_start>
* K4 V6 U! B: \6 ~6 Y3 S    82e8:        e8bd8010         pop        {r4, pc}' s) R# |* w" \; C4 b$ K
arago:
4 O( e% ^$ Y9 [' e+ ~2 a1 ^9 N00008250 <_init>:
) P! ]. j2 a+ Q% S% w' B% E/ f    8250:        e92d4008         push        {r3, lr}
4 |- x+ e+ x! X# F    8254:        eb00001d         bl        82d0 <call_gmon_start>
0 I/ k6 R9 n* g/ u+ ?    8258:        e8bd8008         pop        {r3, pc}0 M" W9 e% L9 y+ l" |$ }

" o4 B0 s# H) ?' S% T% anone:, p0 o5 w5 a0 e3 ]1 Q
000082ec <.plt>:" Q' p( a2 g9 H% o) M( z1 F5 D  j, U
    82ec:        e52de004         push        {lr}                ; (str lr, [sp, #-4]!)
7 F$ y5 Y4 m' L0 f$ A1 ?    82f0:        e59fe004         ldr        lr, [pc, #4]        ; 82fc <_init+0x1c>
( X* |3 g7 Z7 g  w  g    82f4:        e08fe00e         add        lr, pc, lr
8 u5 U4 g4 O6 D& u1 G3 \! ^, Q2 J) }    82f8:        e5bef008         ldr        pc, [lr, #8]!
% f# Q6 {& c$ L7 T! N    82fc:        000082d4         .word        0x000082d4, [! T' t+ G) x% ~. T7 p8 q5 n
    8300:        e28fc600         add        ip, pc, #0        ; 0x04 f7 c, m) I3 r5 _" n
    8304:        e28cca08         add        ip, ip, #32768        ; 0x8000% D8 L3 g/ i+ Z0 f# u/ Y5 R- O- M
    8308:        e5bcf2d4         ldr        pc, [ip, #724]!
( Q  J: B2 q( D4 \    830c:        e28fc600         add        ip, pc, #0        ; 0x0
4 [0 |& |! ?$ q8 X3 r    8310:        e28cca08         add        ip, ip, #32768        ; 0x8000
% g3 R! G9 Z8 K" ~    8314:        e5bcf2cc         ldr        pc, [ip, #716]!
7 c% s- O( p7 m/ O# f    8318:        e28fc600         add        ip, pc, #0        ; 0x0
0 e# e) x$ Q! f3 X    831c:        e28cca08         add        ip, ip, #32768        ; 0x8000' @$ I" ^7 Z) f! _6 |* C, b
    8320:        e5bcf2c4         ldr        pc, [ip, #708]!
( T! ~& F) R5 b, e% v0 c( ^. y! warago:
9 e9 p4 d% c9 @1 O. d0000825c <.plt>:9 ?$ t4 x5 j% s% T
    825c:        e52de004         push        {lr}                ; (str lr, [sp, #-4]!)1 e  W8 [, x, g6 P/ i" ?& ~$ o
    8260:        e59fe004         ldr        lr, [pc, #4]        ; 826c <_init+0x1c>( Z% V4 U* Z+ D
    8264:        e08fe00e         add        lr, pc, lr
6 r! A; C( H  x$ N& {' j    8268:        e5bef008         ldr        pc, [lr, #8]!7 u$ c& E  L( R% a+ |
    826c:        0000827c         .word        0x0000827c
" c$ j3 r. r8 w4 `7 T7 T9 O7 a    8270:        e28fc600         add        ip, pc, #0  z" p( W% d! Q7 G' W3 r! M
    8274:        e28cca08         add        ip, ip, #32768        ; 0x8000
( v- s9 H" D( _: p* s2 Q9 T) b    8278:        e5bcf27c         ldr        pc, [ip, #636]!        ; 0x27c
& u9 j+ k8 W$ ]: t0 C8 H    827c:        e28fc600         add        ip, pc, #0
% z' F  o; P: c1 s2 q( t1 v) n    8280:        e28cca08         add        ip, ip, #32768        ; 0x8000
1 S6 ~  `3 ]: c' W. T) ?0 @6 J    8284:        e5bcf274         ldr        pc, [ip, #628]!        ; 0x274
6 b* r5 k0 G$ Q  T9 b7 C4 \9 g3 d    8288:        e28fc600         add        ip, pc, #07 Q. |% U$ v3 y0 k( C" b
    828c:        e28cca08         add        ip, ip, #32768        ; 0x8000" o4 u9 p7 o5 K, M/ ?! \
    8290:        e5bcf26c         ldr        pc, [ip, #620]!        ; 0x26c
4 O% I. v# s- \0 D5 S& ~6 xnone:9 W/ F2 m3 L4 k8 i- g4 ]
00008324 <_start>:$ S6 s5 a" D+ U' n7 e$ V- [+ f0 W
    8324:        e59fc024         ldr        ip, [pc, #36]        ; 8350 <_start+0x2c>0 M! Y& \' f9 o& V# {+ z
    8328:        e3a0b000         mov        fp, #0        ; 0x06 U7 |; Z. n0 B3 @0 ~9 r
    832c:        e49d1004         pop        {r1}                ; (ldr r1, [sp], #4)
7 B5 m6 `6 @3 e2 N6 ~( H" |    8330:        e1a0200d         mov        r2, sp
" \0 z! W, W0 @9 M    8334:        e52d2004         push        {r2}                ; (str r2, [sp, #-4]!)$ q+ }# \6 f- S; M! z& Q5 M
    8338:        e52d0004         push        {r0}                ; (str r0, [sp, #-4]!)$ M  b, R6 F# I. r! K4 ^# V
    833c:        e59f0010         ldr        r0, [pc, #16]        ; 8354 <_start+0x30>
" h; u9 g2 f- r4 d. B2 w! m: ^    8340:        e59f3010         ldr        r3, [pc, #16]        ; 8358 <_start+0x34>- E5 _$ t( w9 O5 l
    8344:        e52dc004         push        {ip}                ; (str ip, [sp, #-4]!)
6 ?4 `) K5 r1 h/ b% M3 L    8348:        ebffffef         bl        830c <_init+0x2c>- s* \% h2 d! ~, c" L6 l; t- V
    834c:        ebffffeb         bl        8300 <_init+0x20># ^1 I: u. S  w$ z3 x/ [$ P
    8350:        00008404         .word        0x00008404
3 [5 V  o" B7 V; p2 B4 K& n    8354:        000083cc         .word        0x000083cc9 p$ j& V, I6 Q9 B+ L
    8358:        00008408         .word        0x00008408
- W' Z4 H3 i3 N9 b" marago:( S5 H& ^  }7 m- G
00008294 <_start>:
: @5 K! m2 G3 ]: D& T    8294:        e3a0b000         mov        fp, #0
' O  [* G, {) C2 h    8298:        e3a0e000         mov        lr, #0% b1 P# z' c5 O- [% A/ J& ]) X
    829c:        e49d1004         pop        {r1}                ; (ldr r1, [sp], #4)1 v( X0 T6 d; q: ]
    82a0:        e1a0200d         mov        r2, sp1 X1 t8 z% e. S4 R2 Y
    82a4:        e52d2004         push        {r2}                ; (str r2, [sp, #-4]!)
/ o$ ^9 [; I7 S; i; _    82a8:        e52d0004         push        {r0}                ; (str r0, [sp, #-4]!); V& I0 r0 ?5 M, E& z
    82ac:        e59fc010         ldr        ip, [pc, #16]        ; 82c4 <_start+0x30>  k; q4 K: o' ]! e, F. E
    82b0:        e52dc004         push        {ip}                ; (str ip, [sp, #-4]!)
5 F( H8 r5 \# H" ]    82b4:        e59f000c         ldr        r0, [pc, #12]        ; 82c8 <_start+0x34>
5 o: [( n- h/ v0 e: F4 ~, F2 m    82b8:        e59f300c         ldr        r3, [pc, #12]        ; 82cc <_start+0x38>
& a5 k6 x% U  N3 R; e! I    82bc:        ebffffee         bl        827c <_init+0x2c>
2 O) I$ x( M5 k( V' s    82c0:        ebffffea         bl        8270 <_init+0x20>
1 g" y% j* O' F+ s3 I) Y5 v    82c4:        000083dc         .word        0x000083dc# a! S0 c" [* r9 p+ `
    82c8:        00008344         .word        0x000083447 x4 }$ R" t2 X
    82cc:        0000837c         .word        0x0000837c3 P! b  F* s% m0 x$ i! G
none:
* c# ^" A) `; v0000835c <call_gmon_start>:
: c/ m. c* _# C, b    835c:        e59f3014         ldr        r3, [pc, #20]        ; 8378 <call_gmon_start+0x1c>
3 q  [7 i" I( S# ]6 r$ h6 |% a& r2 e5 F    8360:        e59f2014         ldr        r2, [pc, #20]        ; 837c <call_gmon_start+0x20>
& P9 k4 t, _  ~: i5 w2 x    8364:        e08f3003         add        r3, pc, r3% N# N: Z! ^- b7 A3 k" m  S
    8368:        e7931002         ldr        r1, [r3, r2]- q, R9 a  Q2 S  p0 Q
    836c:        e3510000         cmp        r1, #0        ; 0x0: q( `( K# ?; F2 K, Q* u
    8370:        012fff1e         bxeq        lr
; ], X4 t0 W% d- T& Z    8374:        eaffffe7         b        8318 <_init+0x38>
+ F2 e' U" d7 `8 X2 o( z    8378:        00008264         .word        0x00008264
( K8 ^4 Q2 J1 _3 ^( v" N- I4 n( x    837c:        00000018         .word        0x00000018
- O* ?% L# h! X; X! g; O0 `arago:! h+ P" O- m, x3 a0 Q, x% a
000082d0 <call_gmon_start>:
% H; D+ L$ w* ]( ]  m    82d0:        e59f3014         ldr        r3, [pc, #20]        ; 82ec <call_gmon_start+0x1c>
( p9 X. P5 n' [: @0 b, D9 n0 C    82d4:        e59f0014         ldr        r0, [pc, #20]        ; 82f0 <call_gmon_start+0x20>% l& S0 S/ ?7 f4 f! X0 E
    82d8:        e08f3003         add        r3, pc, r3
& @7 K+ q$ r4 N8 ?    82dc:        e7932000         ldr        r2, [r3, r0]
* m! V$ o2 Z& l8 r, d    82e0:        e3520000         cmp        r2, #0
+ [  {. z& ]: l7 C    82e4:        012fff1e         bxeq        lr6 o6 V/ _& l, U( a( D; M
    82e8:        eaffffe6         b        8288 <_init+0x38>5 u" U* O# U0 D
    82ec:        00008208         .word        0x00008208
$ ^  }/ L* Q7 K- {* i5 L    82f0:        00000018         .word        0x00000018
" o* g9 m9 E' I. n& Inone:
+ H$ |( I+ m5 g! D2 |1 N00008380 <__do_global_dtors_aux>:
. Y, X" y. X" D. v# Z2 w! G  `8 W    8380:        e59f2010         ldr        r2, [pc, #16]        ; 8398 <__do_global_dtors_aux+0x18>/ G; Q0 A* O3 W$ J
    8384:        e5d23000         ldrb        r3, [r2]
) z- k2 Y  l# r" ]. }4 H    8388:        e3530000         cmp        r3, #0        ; 0x0( `% U$ x' \+ k5 P- r# M& j% e0 K
    838c:        03a03001         moveq        r3, #1        ; 0x1
/ b  Z2 W- B4 N; C6 Y5 K    8390:        05c23000         strbeq        r3, [r2]( w1 S1 I" ~7 g( j4 E* t" L9 C$ W
    8394:        e12fff1e         bx        lr- R+ e& [1 @9 t8 L
    8398:        000105f4         .word        0x000105f4) S1 e: g1 h* W) o' |
arago:
/ }; \+ G# ^: R# \1 A  h000082f4 <__do_global_dtors_aux>:7 P& M: {6 Q& b- d) P- u9 }
    82f4:        e59f3010         ldr        r3, [pc, #16]        ; 830c <__do_global_dtors_aux+0x18>
4 @0 c& j6 T% ?: t' l    82f8:        e5d32000         ldrb        r2, [r3]1 g! }* N0 E. B& X/ m2 I" F3 }+ J
    82fc:        e3520000         cmp        r2, #0
' T! ?4 B- E7 ?; w7 j* v5 [5 h" \    8300:        02822001         addeq        r2, r2, #1, h* L" {5 ]& R% k0 u& \2 F# J/ v
    8304:        05c32000         strbeq        r2, [r3]/ Q4 V3 a0 L4 K- i! H6 \% d
    8308:        e12fff1e         bx        lr
3 \/ R" v/ t/ |3 y7 P, P    830c:        0001050c         .word        0x0001050c
- C$ s6 C9 t; y6 d$ W) Wnone:/ O$ k4 r# B0 L1 S' A
0000839c <frame_dummy>:
- ]# g4 ~7 {: z, D2 j+ _    839c:        e59f0020         ldr        r0, [pc, #32]        ; 83c4 <frame_dummy+0x28>& O8 T; R4 W! W$ m& G( F
    83a0:        e92d4010         push        {r4, lr}& g. G1 Q- B8 a4 A5 {# k
    83a4:        e5903000         ldr        r3, [r0]
! S# a& u) q% ]! x    83a8:        e3530000         cmp        r3, #0        ; 0x0
  G) t  N1 O) G2 U    83ac:        08bd8010         popeq        {r4, pc}( [# y" Z7 I8 B- E, s6 b% o6 S
    83b0:        e59f3010         ldr        r3, [pc, #16]        ; 83c8 <frame_dummy+0x2c>
7 n# R3 e" j" M% @5 ~    83b4:        e3530000         cmp        r3, #0        ; 0x0" w$ O: ^: l- G% ?7 j5 d, p% B
    83b8:        08bd8010         popeq        {r4, pc}
! |5 Y0 }5 q, r+ G" _/ ~8 S    83bc:        e12fff33         blx        r3* o0 @4 m* g1 \" C  {
    83c0:        e8bd8010         pop        {r4, pc}. N) p% U; F- [; _6 z7 }" O9 E
    83c4:        000104dc         .word        0x000104dc! M* _2 |2 k  m/ I5 L. l- M6 z3 Y
    83c8:        00000000         .word        0x00000000+ D8 S. G6 `% _  O9 F8 F) V. _, ~
arago:
1 F, u1 x. u# h' U: B. y! y6 _6 b00008310 <frame_dummy>:. ~3 e6 t$ u% y2 F' A1 u
    8310:        e59f0024         ldr        r0, [pc, #36]        ; 833c <frame_dummy+0x2c>+ B2 J3 h4 F  T) W5 R. f5 `1 L
    8314:        e92d4008         push        {r3, lr}
- E; e; J8 S: @& z+ D    8318:        e5903000         ldr        r3, [r0]
' O' b7 ~6 Z. n3 }8 M( Y    831c:        e3530000         cmp        r3, #0
; p- @3 W, _' Z/ @    8320:        0a000003         beq        8334 <frame_dummy+0x24>) x8 {4 G. X( Q% i0 A! w; O9 g+ j
    8324:        e59f3014         ldr        r3, [pc, #20]        ; 8340 <frame_dummy+0x30>
' z  `( C( O* y. p& ^    8328:        e3530000         cmp        r3, #03 Y+ U; H2 ^# H5 j
    832c:        11a0e00f         movne        lr, pc2 X& w% z" e( r, a4 U4 X* Q
    8330:        112fff13         bxne        r3& O$ b' h* i$ I' [
    8334:        e8bd4008         pop        {r3, lr}
/ P  r; j' [$ c5 T: N/ T    8338:        e12fff1e         bx        lr' \9 c4 F$ D% K9 x6 S; H( A4 ~
    833c:        000103fc         .word        0x000103fc# L. ^4 [1 b# X2 m: i' n4 R
    8340:        00000000         .word        0x00000000  }* }9 Y8 O( o+ W/ _1 S& V
none:
! b1 J3 x1 j# _, U000083cc <main>:
3 i/ J; ~; [( `* G8 O! p    83cc:        e52db004         push        {fp}                ; (str fp, [sp, #-4]!)( G# D. w# {. U" v* |
    83d0:        e28db000         add        fp, sp, #0        ; 0x0
2 p! ~5 _0 l8 a- _/ C    83d4:        e24dd01c         sub        sp, sp, #28        ; 0x1c
8 f7 J0 u* ?. z& C) i    83d8:        e50b0018         str        r0, [fp, #-24]
/ H, c" P8 w* ?/ w    83dc:        e50b101c         str        r1, [fp, #-28]
7 m+ b0 @3 D1 t  e( w1 g1 a( _2 |    83e0:        e51b2010         ldr        r2, [fp, #-16]
# N+ f+ m' R) ~4 N    83e4:        e51b300c         ldr        r3, [fp, #-12]
( `# Z3 g6 J6 b* o: O" y: |) A    83e8:        e0030392         mul        r3, r2, r3
9 H8 L7 f+ Y# t) W: N    83ec:        e50b3008         str        r3, [fp, #-8]
3 o' Q2 Q  \4 r3 b+ g- b4 h    83f0:        e3a03000         mov        r3, #0        ; 0x0) f/ v5 S( Z8 n% p
    83f4:        e1a00003         mov        r0, r3
8 s: g  }! p$ p0 x    83f8:        e28bd000         add        sp, fp, #0        ; 0x0; p. `5 u! G+ ^$ s/ q9 X
    83fc:        e8bd0800         pop        {fp}9 _  ^0 g: L5 [, A! g, d, D, U
    8400:        e12fff1e         bx        lr
1 \" u* o" ~6 T2 ^2 Iarago:+ x. M- e5 s- Z' V% N
00008344 <main>:
9 _3 B# r; `9 ?6 D! j% V    8344:        e52db004         push        {fp}                ; (str fp, [sp, #-4]!)
" @  d7 w1 Z/ j+ K8 \- C& X    8348:        e28db000         add        fp, sp, #0
, \2 }) C# [3 t6 k4 a% y    834c:        e24dd01c         sub        sp, sp, #28& c% i3 Z5 x* ^; f1 O
    8350:        e50b0018         str        r0, [fp, #-24]
* k4 z  s( y" W    8354:        e50b101c         str        r1, [fp, #-28]
0 w$ O/ r1 H5 B$ M3 Y    8358:        e51b3008         ldr        r3, [fp, #-8]4 f. p, Z- F& Q' \
    835c:        e51b200c         ldr        r2, [fp, #-12]
' \* _, u. W# r) c  F4 _5 j! X1 J* W    8360:        e0030392         mul        r3, r2, r3. e* Q2 W+ z; _) V9 G) q( T
    8364:        e50b3010         str        r3, [fp, #-16]
3 E$ |3 N/ a/ D    8368:        e3a03000         mov        r3, #0& U" A: n- v' L: f7 n) U
    836c:        e1a00003         mov        r0, r3
; A: J- `( p, N    8370:        e28bd000         add        sp, fp, #08 F1 h* ]  Q, g7 W' ?
    8374:        e8bd0800         pop        {fp}
) B/ L9 [% |3 r" O& m) ^    8378:        e12fff1e         bx        lr0 B; q, [9 T+ v
none:
# O9 S& O* o" p# h7 f# y3 Z00008404 <__libc_csu_fini>:) b  R( Y* g, _, D' B2 t7 ~4 N' T+ A6 Q
    8404:        e12fff1e         bx        lr
: p: _& t; A2 t$ f' {% [arago:# `  j0 {2 H8 O, D
000083dc <__libc_csu_fini>:
; A- Y: j' H% F* ?4 u: W2 u3 b    83dc:        e12fff1e         bx        lr
; q, c( H$ n, S( y$ Dnone:
, }1 H2 t( T, l- {/ t00008408 <__libc_csu_init>:7 S3 L" _  i4 R4 o1 e
    8408:        e92d47f0         push        {r4, r5, r6, r7, r8, r9, sl, lr}
5 p( h( i: u( `  r" c- V0 A# k    840c:        e1a08001         mov        r8, r1) v( {/ ?) C! ~, u  d* f
    8410:        e1a07002         mov        r7, r2
$ U4 J" n- r/ Z' c: x' v& }7 j    8414:        e1a0a000         mov        sl, r07 o! p6 I# {1 ^' X% W
    8418:        ebffffb0         bl        82e0 <_init>5 v' r# o/ v# `! n% T
    841c:        e59f1044         ldr        r1, [pc, #68]        ; 8468 <__libc_csu_init+0x60>" a8 ?# B$ T; u- y: ~* Y( D5 y4 t/ I
    8420:        e59f3044         ldr        r3, [pc, #68]        ; 846c <__libc_csu_init+0x64>
/ p( T- C9 w5 U3 T( _    8424:        e59f2044         ldr        r2, [pc, #68]        ; 8470 <__libc_csu_init+0x68># R0 A; D/ N/ d* U" A' v3 |$ B
    8428:        e0613003         rsb        r3, r1, r3
/ @. v% V4 S% u8 S' `6 z    842c:        e08f2002         add        r2, pc, r2
. n& q7 G9 ^) v: l, L    8430:        e1b05143         asrs        r5, r3, #2
* @, \; h( X; w$ n6 Z0 g    8434:        e0822001         add        r2, r2, r1
7 h7 q' y5 D9 g/ e$ \( w    8438:        08bd87f0         popeq        {r4, r5, r6, r7, r8, r9, sl, pc}
: I4 n3 e  G& j/ k" d1 v6 M( f+ W! R    843c:        e1a06002         mov        r6, r2! c/ [5 L6 o1 u% p, |
    8440:        e3a04000         mov        r4, #0        ; 0x0
. l% F& y  E/ \6 E0 t. o    8444:        e1a0000a         mov        r0, sl! u# s% M) P) V% k& r  t, F: S
    8448:        e1a01008         mov        r1, r8
% ]% N: O: k, G. a+ N' V& y    844c:        e1a02007         mov        r2, r7% ?6 w+ S0 F/ r# {9 `# y/ n1 s# _8 y
    8450:        e1a0e00f         mov        lr, pc1 x3 a$ [, d0 V8 l. {- S7 o6 R
    8454:        e796f104         ldr        pc, [r6, r4, lsl #2]
" o$ n" c( p* N, f3 T    8458:        e2844001         add        r4, r4, #1        ; 0x1
5 w+ C2 F, A) p0 f& y    845c:        e1540005         cmp        r4, r5
- l( B3 V& `3 ^/ p    8460:        3afffff7         bcc        8444 <__libc_csu_init+0x3c>
7 i1 x: s" A( _7 t    8464:        e8bd87f0         pop        {r4, r5, r6, r7, r8, r9, sl, pc}
0 J0 y' ]0 k8 Y5 S( J+ a6 g    8468:        ffffff04         .word        0xffffff04
, v! d6 r/ q: ^5 W$ Y) s' i0 ?# w    846c:        ffffff08         .word        0xffffff08
0 S$ u! v, Q$ t) L    8470:        0000819c         .word        0x0000819c
: `! g' M- I! j. \arago:
# r: H5 N& H# A( P4 o0000837c <__libc_csu_init>:2 f  A' M( @+ L$ O( @
    837c:        e92d45f8         push        {r3, r4, r5, r6, r7, r8, sl, lr}
+ i/ M' p* z% ]# R- J    8380:        e59fa04c         ldr        sl, [pc, #76]        ; 83d4 <__libc_csu_init+0x58>
  G3 d8 _0 @9 e0 E, [9 o1 F' ]' L    8384:        e1a06000         mov        r6, r0
: Y4 N0 P  D8 ?* \* o; n: b    8388:        e1a07001         mov        r7, r1
* \5 X8 S# J4 |1 {# i- r# Z& j* `    838c:        e1a08002         mov        r8, r27 ?/ E4 \# V* z" r- C9 R
    8390:        ebffffae         bl        8250 <_init>
5 w9 T  [% O( o- u1 v    8394:        e59f103c         ldr        r1, [pc, #60]        ; 83d8 <__libc_csu_init+0x5c>
4 j: D9 F$ R: }: D    8398:        e08fa00a         add        sl, pc, sl* J3 [3 F6 J# b
    839c:        e08f0001         add        r0, pc, r15 c. O0 o2 ~  o; S# u" z3 n7 h
    83a0:        e06a5000         rsb        r5, sl, r04 O4 c; d& Y$ x8 T: Z) O
    83a4:        e1b05145         asrs        r5, r5, #2
( b8 g1 X# y- D    83a8:        08bd85f8         popeq        {r3, r4, r5, r6, r7, r8, sl, pc}
- ?9 n& h, y8 ^% I: n8 z    83ac:        e3a04000         mov        r4, #0- {2 P) j4 `7 p4 W
    83b0:        e79a3104         ldr        r3, [sl, r4, lsl #2]1 W$ Z) b- d5 |2 }) S. f7 L, o: f
    83b4:        e1a00006         mov        r0, r6
4 z: m0 c  t3 m1 ~9 z, r    83b8:        e1a01007         mov        r1, r7
% W3 o' H# H. ?4 d# G, `5 l7 Z/ u    83bc:        e1a02008         mov        r2, r8, q5 M6 P7 f6 {2 j. X' H
    83c0:        e2844001         add        r4, r4, #1
1 P& a9 _# z7 S( g8 j1 C5 O( [7 i0 t    83c4:        e12fff33         blx        r3. c" T% p1 ^* h# j+ U0 d* V- |
    83c8:        e1540005         cmp        r4, r5
- n0 M1 j, K& x8 W+ R: c# n    83cc:        3afffff7         bcc        83b0 <__libc_csu_init+0x34>
2 _: F  I8 K' c+ }+ Z- L3 F8 K' v    83d0:        e8bd85f8         pop        {r3, r4, r5, r6, r7, r8, sl, pc}
( N; Y: O7 K$ T5 h9 X' V8 _8 ^* ~) m    83d4:        00008054         .word        0x000080543 p: q- b  ?# f7 J
    83d8:        00008054         .word        0x00008054. D! ]3 ^! `* t+ D1 a% C% s
none:) l) s, u" v3 r. p& [$ }1 u
Disassembly of section .fini:6 N7 W/ u0 P/ m1 e

! @( B7 a( U3 B00008474 <_fini>:
' `) e0 p/ [) X- {* O    8474:        e92d4010         push        {r4, lr}
: O5 }' y  Z% s: `# Q0 Z    8478:        e8bd8010         pop        {r4, pc}& j% Z! b$ _' B- _9 k
arago:/ m! P/ h$ |1 Y2 @; x
Disassembly of section .fini:4 J+ H5 y3 A& z
9 {! u) t: Q# D
000083e0 <_fini>:, O' Q& c3 q+ F# g6 P
    83e0:        e92d4008         push        {r3, lr}
& t; [; J  p/ p0 G* J    83e4:        e8bd8008         pop        {r3, pc}
7 s( E# z/ O# V
' O9 M7 u% g. i; H7 X4 X* j) b' h$ ~

- @7 Z$ r: D  M! R0 z$ v% l
作者: Jackindata    时间: 2016-6-21 16:35
粗看是使用的寄存器有点不同。$ f* D3 o6 Q2 e! u+ c* r
我觉得这个基本程序代码的汇编差异不会有什么结果上的影响。) n4 G* i: K3 @6 `) j9 y5 M
关键可能在于对于 TI 本身提供的一些特性,arago 针对其进行优化,这类的影响才会比较大吧。




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4