嵌入式开发者社区

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

作者: 蜡烛    时间: 2016-6-4 20:49
标题: 交叉编译器 疑问
在工具目录下 有两个交叉编译工具+ k6 E: Y5 k' i7 F
arago-2011.09-armv5te-linux-gnueabi-sdk1 }+ T. x; v" P: ~% P' {8 u6 Z- T0 D
arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu
& s! {/ I8 E. i1 h$ |这两个 交叉编译 工具 有什么区别  
# ]* v! h0 _, q, P- G) }! Z
2 v& R/ |# h  w! w1 y3 A* y6 G( x! n  W6 U3 f8 j

作者: tenny    时间: 2016-6-8 16:07
有区别的,具体的说不上。推荐使用 arago
作者: Jackindata    时间: 2016-6-8 17:03
arago 对 TI 的支持应该更好
$ b( C$ i% q/ n+ h) `& Khttp://arago-project.org/wiki/index.php/Main_Page
作者: 蜡烛    时间: 2016-6-8 22:54
Jackindata 发表于 2016-6-8 17:03
: f4 L) ^/ _7 q; i1 `5 qarago 对 TI 的支持应该更好
% q) K4 s0 l4 F6 b' \8 U3 yhttp://arago-project.org/wiki/index.php/Main_Page

# Z2 ]2 B; a; n+ v3 H+ M的确 文章里说 支持和更新 都优先支持 arago , 在实际编译出来输出文件 不知道有没有什么 优化。
作者: 蜡烛    时间: 2016-6-9 23:03
源码:( C( M: A2 S) G# m+ @
  1 #include<stdio.h>                                                           
& ~8 o& _) H/ m5 u7 N* p' p  2 #include<math.h>% C& m" y6 H5 @# [4 ~! @
  3 int main(int argc,char* argv[])
1 k/ j/ p3 o( \- ?1 B. Z+ n  4 {
$ s3 P6 _% [$ I9 V* j% @9 q  5     int a,b,c;
5 j: k+ |% r% O& @  r+ {4 b8 m  6     c = a * b;/ h% N5 h" Z" M* u8 V# f
  7     return 0;5 ^& Y5 W: C2 B; e; {4 G/ t
  8 }8 J4 o1 `* n* o9 @
- Y, S. r3 V" p  b
下面是两个编译器 编译出来的差异  差异好像不是很大  arm汇编不是很熟悉 大家看看
. w1 x$ B, B; c8 K1 pnone:- `9 ]' T9 T0 Y, O- ?* c
000082e0 <_init>:6 l2 n5 M$ \! p+ i0 B
    82e0:        e92d4010         push        {r4, lr}5 H2 h: f# B& ~' U5 N+ g
    82e4:        eb00001c         bl        835c <call_gmon_start>
: L5 v5 S% b' v1 k    82e8:        e8bd8010         pop        {r4, pc}
4 r& r; C/ A0 Z$ i7 Z: [arago:5 p. O. A+ ~# F: A5 F! C
00008250 <_init>:
/ ^1 t, Y# ~. ^! l4 I    8250:        e92d4008         push        {r3, lr}* W" j/ b% r% r
    8254:        eb00001d         bl        82d0 <call_gmon_start>+ Q  V5 u3 X: Q( s3 g
    8258:        e8bd8008         pop        {r3, pc}
0 G& b7 M8 @- O! P
$ f  l5 w8 L& |3 i! \none:
. c9 t% p' U0 [3 ]000082ec <.plt>:
# }& j' e( N. t" n    82ec:        e52de004         push        {lr}                ; (str lr, [sp, #-4]!)
8 \5 |" r1 c' i    82f0:        e59fe004         ldr        lr, [pc, #4]        ; 82fc <_init+0x1c>
! r7 }& v, `# e# h- t( H    82f4:        e08fe00e         add        lr, pc, lr# L, Y& N0 W/ I* K6 z
    82f8:        e5bef008         ldr        pc, [lr, #8]!
1 f: D9 u3 w" p  {/ v    82fc:        000082d4         .word        0x000082d4
* V$ B/ X6 q6 z' K! k( w8 J; H7 \    8300:        e28fc600         add        ip, pc, #0        ; 0x0
! X# Z% l; U- L    8304:        e28cca08         add        ip, ip, #32768        ; 0x8000: z1 o& q2 _9 b( J& x
    8308:        e5bcf2d4         ldr        pc, [ip, #724]!, H' y- i$ \: |
    830c:        e28fc600         add        ip, pc, #0        ; 0x0" n/ s8 ]& U: l6 d2 Z
    8310:        e28cca08         add        ip, ip, #32768        ; 0x8000, T+ b( T/ j2 k
    8314:        e5bcf2cc         ldr        pc, [ip, #716]!: w" V! {9 I" I  u- ?; K
    8318:        e28fc600         add        ip, pc, #0        ; 0x0
0 f( r9 |1 n0 u1 h5 n7 A8 h; A9 L    831c:        e28cca08         add        ip, ip, #32768        ; 0x80005 L. ^6 b* R1 y# k, j! V7 }) e
    8320:        e5bcf2c4         ldr        pc, [ip, #708]!( G; E5 B8 ~, D; F$ A
arago:# q, L, _& |2 F% L3 Z& ~
0000825c <.plt>:
/ _; p5 ]9 ~; [5 [    825c:        e52de004         push        {lr}                ; (str lr, [sp, #-4]!)$ t$ Z' [" H  I! n; C
    8260:        e59fe004         ldr        lr, [pc, #4]        ; 826c <_init+0x1c>& j+ c7 K! S/ ^" @6 ^* V
    8264:        e08fe00e         add        lr, pc, lr4 m4 J8 l/ o4 L5 C& N6 G2 m% ~
    8268:        e5bef008         ldr        pc, [lr, #8]!
; u, E' a% Y6 Q4 d. P; u7 R5 M    826c:        0000827c         .word        0x0000827c
. o- o! @4 _8 ~" O' g! u    8270:        e28fc600         add        ip, pc, #0
; G4 y$ Q- M. j3 r3 T    8274:        e28cca08         add        ip, ip, #32768        ; 0x8000
; a" w$ K7 s# w0 J- d7 g5 I* t8 w( z    8278:        e5bcf27c         ldr        pc, [ip, #636]!        ; 0x27c2 X8 l" x! z8 C" G( w
    827c:        e28fc600         add        ip, pc, #0- _$ J9 T5 d# O4 M: x
    8280:        e28cca08         add        ip, ip, #32768        ; 0x8000
9 u$ S( l+ x! C) x7 d    8284:        e5bcf274         ldr        pc, [ip, #628]!        ; 0x274' L& f# V; A, W# T5 Z
    8288:        e28fc600         add        ip, pc, #0
, v+ o+ ~; b; ~( ]/ E" r    828c:        e28cca08         add        ip, ip, #32768        ; 0x8000" @( x$ `* r7 h8 h
    8290:        e5bcf26c         ldr        pc, [ip, #620]!        ; 0x26c: ^6 T$ x. L, T5 C0 |
none:
8 K+ h1 Z' q$ r- o, R3 o00008324 <_start>:
( j5 q, R1 L) y! q& ?* w    8324:        e59fc024         ldr        ip, [pc, #36]        ; 8350 <_start+0x2c>
, y7 o2 L' L5 }1 s    8328:        e3a0b000         mov        fp, #0        ; 0x0& D5 t$ Y9 R+ T) U3 @' A  b
    832c:        e49d1004         pop        {r1}                ; (ldr r1, [sp], #4)
. }. b9 x( J, [& h: `    8330:        e1a0200d         mov        r2, sp
5 c1 D# e9 L. I+ K4 S    8334:        e52d2004         push        {r2}                ; (str r2, [sp, #-4]!)$ p7 ^" S& y: \- d7 \
    8338:        e52d0004         push        {r0}                ; (str r0, [sp, #-4]!)' C: L2 R, m6 g) q4 T
    833c:        e59f0010         ldr        r0, [pc, #16]        ; 8354 <_start+0x30>5 |* Y; U, y+ g& G
    8340:        e59f3010         ldr        r3, [pc, #16]        ; 8358 <_start+0x34>
% g6 I0 q9 X5 ?% N    8344:        e52dc004         push        {ip}                ; (str ip, [sp, #-4]!)
1 v1 j" u1 Y$ a, F    8348:        ebffffef         bl        830c <_init+0x2c>5 k8 D) d& ~1 L% Q' H$ c7 [# a, P
    834c:        ebffffeb         bl        8300 <_init+0x20>
+ B$ n, Y/ {6 B9 X  Q    8350:        00008404         .word        0x000084044 h4 a4 u' ^3 Q* w8 _9 ?
    8354:        000083cc         .word        0x000083cc
5 ?6 P+ X: f9 k# ^    8358:        00008408         .word        0x00008408
+ P! L" `% ^3 xarago:% O1 ?2 X0 }  k+ O% a9 `! P3 Z
00008294 <_start>:
" q2 V5 e1 R# q7 I( t* z* S1 ~    8294:        e3a0b000         mov        fp, #0
* K8 z# W. |+ A    8298:        e3a0e000         mov        lr, #0, U. \4 ]. M. F6 i+ C: G
    829c:        e49d1004         pop        {r1}                ; (ldr r1, [sp], #4)
* M" ^! S4 x) G    82a0:        e1a0200d         mov        r2, sp; ]3 J% o# J  c# ]# |0 c, j6 r
    82a4:        e52d2004         push        {r2}                ; (str r2, [sp, #-4]!)' ~; m3 V: f$ D$ h5 ?, _$ O+ B
    82a8:        e52d0004         push        {r0}                ; (str r0, [sp, #-4]!)
! F8 v' H* y7 _- u1 T! O4 Z) ~. ^* Q    82ac:        e59fc010         ldr        ip, [pc, #16]        ; 82c4 <_start+0x30>
* D1 O0 G* e4 }& C; q" P    82b0:        e52dc004         push        {ip}                ; (str ip, [sp, #-4]!)) x% R3 h" q' v- r1 h& n; Y
    82b4:        e59f000c         ldr        r0, [pc, #12]        ; 82c8 <_start+0x34>  _4 J; h6 s2 s' ]/ n, a8 e6 L
    82b8:        e59f300c         ldr        r3, [pc, #12]        ; 82cc <_start+0x38>
% I' Z7 l8 l6 M+ G- Q( k    82bc:        ebffffee         bl        827c <_init+0x2c>
* r& J, z% ?. p, ]    82c0:        ebffffea         bl        8270 <_init+0x20>
" Y7 ]8 z; o& m" X$ V    82c4:        000083dc         .word        0x000083dc3 d; u5 F9 K3 M! t# D# Y3 g9 l
    82c8:        00008344         .word        0x000083440 U1 r: ?% ?0 ?0 K7 Z$ J
    82cc:        0000837c         .word        0x0000837c/ @! u# |7 P- `' b
none:) N- \# C8 v+ ?
0000835c <call_gmon_start>:
$ {8 {! i( |2 Y3 q- @0 R+ N5 [! \    835c:        e59f3014         ldr        r3, [pc, #20]        ; 8378 <call_gmon_start+0x1c>/ v4 B, k4 q( a9 d8 U  o! S+ m
    8360:        e59f2014         ldr        r2, [pc, #20]        ; 837c <call_gmon_start+0x20>6 K# y$ B1 Y: u( g
    8364:        e08f3003         add        r3, pc, r3
( F) [0 R' p, L" x    8368:        e7931002         ldr        r1, [r3, r2]
' J5 i+ e: V& M    836c:        e3510000         cmp        r1, #0        ; 0x00 s5 v5 |1 m8 ]* \
    8370:        012fff1e         bxeq        lr3 D! c0 z. T+ y# E9 t. |
    8374:        eaffffe7         b        8318 <_init+0x38>/ e! m$ z9 A( \" ]+ h  o
    8378:        00008264         .word        0x00008264
# E- B1 x2 X/ @( ~$ M6 o    837c:        00000018         .word        0x00000018
1 T" w) D7 a9 h0 r% [arago:
7 g# H2 {* B. r000082d0 <call_gmon_start>:/ k  C3 I! h1 Y
    82d0:        e59f3014         ldr        r3, [pc, #20]        ; 82ec <call_gmon_start+0x1c>
/ O  E7 X: n8 G( N    82d4:        e59f0014         ldr        r0, [pc, #20]        ; 82f0 <call_gmon_start+0x20>
  ^+ ?+ Q% t0 M! m    82d8:        e08f3003         add        r3, pc, r3
% c6 n, Z. ~0 _4 {: G, ^' M    82dc:        e7932000         ldr        r2, [r3, r0]7 z9 C& P) B  y3 _, \5 N; F
    82e0:        e3520000         cmp        r2, #07 u! S% ]6 b# B# B+ P
    82e4:        012fff1e         bxeq        lr1 n( p$ V" m- z. F; B- @
    82e8:        eaffffe6         b        8288 <_init+0x38>: f* Q! W$ M; ?3 \" q- l3 L
    82ec:        00008208         .word        0x00008208
# ~6 L2 \2 i6 Q7 r  F3 a; e" }    82f0:        00000018         .word        0x00000018+ u) K, Q: J0 E: D1 @
none:
  v9 s# R+ H0 |5 M& b" T00008380 <__do_global_dtors_aux>:$ _/ Y" g: {4 |: ~2 h/ i# |
    8380:        e59f2010         ldr        r2, [pc, #16]        ; 8398 <__do_global_dtors_aux+0x18>: }/ X2 K8 U  x& W
    8384:        e5d23000         ldrb        r3, [r2]
1 ~) K( H8 B& G8 \0 W# e! I& i5 L    8388:        e3530000         cmp        r3, #0        ; 0x0/ M5 [7 q3 L, {- x1 m, r
    838c:        03a03001         moveq        r3, #1        ; 0x1
: k$ r6 m' }; v" @$ _4 O- _    8390:        05c23000         strbeq        r3, [r2]
7 T* N% P' o$ Z7 }7 n4 H    8394:        e12fff1e         bx        lr
  L! r- p; _. Q6 s; Z% m8 [    8398:        000105f4         .word        0x000105f4
, Y, b- Y6 N0 q1 x. uarago:. O- }. B# j) G8 K: `  |" P6 @
000082f4 <__do_global_dtors_aux>:, X" V( T  Q) V; [6 q. r
    82f4:        e59f3010         ldr        r3, [pc, #16]        ; 830c <__do_global_dtors_aux+0x18>6 K. F% s, X" J$ Z+ ?3 h" w6 V
    82f8:        e5d32000         ldrb        r2, [r3]
* j+ R6 J  O7 _2 J: k5 J    82fc:        e3520000         cmp        r2, #06 s% f- `* m) j: s6 ~, }* Q
    8300:        02822001         addeq        r2, r2, #1
# _+ O; i  k* L7 `    8304:        05c32000         strbeq        r2, [r3]3 D2 h# p( O& c1 G( U( o1 x  X
    8308:        e12fff1e         bx        lr
2 l$ D3 _1 z9 d7 g+ ^    830c:        0001050c         .word        0x0001050c
4 X) y+ J' H* H: M! f8 \: Enone:. b' z- f6 j( c* _/ j
0000839c <frame_dummy>:
. L6 r: b$ O9 [' n8 H5 y    839c:        e59f0020         ldr        r0, [pc, #32]        ; 83c4 <frame_dummy+0x28>2 }8 Q$ _& e" l# Y% [+ Q; o
    83a0:        e92d4010         push        {r4, lr}
8 D; ^# [2 n# X( w6 }    83a4:        e5903000         ldr        r3, [r0]
" u; D) h' f# f    83a8:        e3530000         cmp        r3, #0        ; 0x03 p7 a+ o4 h! s
    83ac:        08bd8010         popeq        {r4, pc}
; _( T8 W' R! f5 y    83b0:        e59f3010         ldr        r3, [pc, #16]        ; 83c8 <frame_dummy+0x2c>8 |& Y/ q9 l: {4 v/ C0 M& h7 R
    83b4:        e3530000         cmp        r3, #0        ; 0x0. W- d# L% a$ B2 o
    83b8:        08bd8010         popeq        {r4, pc}
+ R6 I! i& V/ \4 o2 O( _/ Q    83bc:        e12fff33         blx        r3
' U, |7 o9 \+ J8 f) _% G    83c0:        e8bd8010         pop        {r4, pc}& J; O2 p2 i& n& f, H  ^
    83c4:        000104dc         .word        0x000104dc& s" d# I  L/ P7 A: G# D, b
    83c8:        00000000         .word        0x000000002 Y4 Y; z- \0 P9 q
arago:
4 ^7 }/ j, D5 f+ W1 X2 O; y00008310 <frame_dummy>:2 Y6 R& C1 {: w1 Q5 Y% S1 ]$ P0 x
    8310:        e59f0024         ldr        r0, [pc, #36]        ; 833c <frame_dummy+0x2c>
  f1 a, B; H$ ]; [; j" {3 I    8314:        e92d4008         push        {r3, lr}: L6 X" u1 b* y* \+ \. H3 Z/ S
    8318:        e5903000         ldr        r3, [r0]" j7 Z) o* v# c" V/ f
    831c:        e3530000         cmp        r3, #0
  \5 G) d  u/ K, n( p    8320:        0a000003         beq        8334 <frame_dummy+0x24>! M+ b; |/ U+ _6 q5 T# b) n' i. l
    8324:        e59f3014         ldr        r3, [pc, #20]        ; 8340 <frame_dummy+0x30>! {7 L& C& E1 _& y7 \7 v5 b- T, Y
    8328:        e3530000         cmp        r3, #0
7 [6 q4 u2 P: ]4 o& J$ u1 u0 g    832c:        11a0e00f         movne        lr, pc4 w! U- [- ^6 h+ N
    8330:        112fff13         bxne        r3
/ g% O- K0 Z# o/ [! a    8334:        e8bd4008         pop        {r3, lr}% |' \" L, Z4 V5 I
    8338:        e12fff1e         bx        lr
4 j  ^* f: N0 I# |6 U3 L; q    833c:        000103fc         .word        0x000103fc* t  g5 f# Z6 I( z
    8340:        00000000         .word        0x00000000
& o1 y, Z! |( M" U2 v$ gnone:5 E+ F& O' _8 D7 D
000083cc <main>:" M) J' T' {; G9 @
    83cc:        e52db004         push        {fp}                ; (str fp, [sp, #-4]!)( o7 e' Z, I: F3 s, k7 l
    83d0:        e28db000         add        fp, sp, #0        ; 0x0
0 t, o  N2 }$ L& E" y4 L& k9 J* }: X    83d4:        e24dd01c         sub        sp, sp, #28        ; 0x1c8 C  u' d* ?- ]; ^" D
    83d8:        e50b0018         str        r0, [fp, #-24]
" K( W* [7 s4 p( c# W9 k. L    83dc:        e50b101c         str        r1, [fp, #-28]
8 p+ m$ k* N2 D* L9 r( C    83e0:        e51b2010         ldr        r2, [fp, #-16]
4 j& I6 m+ K' U7 B' m- x: C    83e4:        e51b300c         ldr        r3, [fp, #-12]+ Z7 o" B7 j* e' ?
    83e8:        e0030392         mul        r3, r2, r38 E. C; W  }0 f1 u' q$ h
    83ec:        e50b3008         str        r3, [fp, #-8]% m& }. `% W2 K- W
    83f0:        e3a03000         mov        r3, #0        ; 0x0
( ]  e. M( Y6 s    83f4:        e1a00003         mov        r0, r3  b- h  d5 T* T* H
    83f8:        e28bd000         add        sp, fp, #0        ; 0x0) a  T" m2 T# P% N  m
    83fc:        e8bd0800         pop        {fp}9 M6 r! P  N! M6 ?8 h8 {
    8400:        e12fff1e         bx        lr+ T) ^8 z3 ~6 P9 p
arago:
5 ]6 n- J8 j  ]* |# ?" B00008344 <main>:
' n5 c, Q; I9 x7 ^. F2 i0 x3 [2 r6 L    8344:        e52db004         push        {fp}                ; (str fp, [sp, #-4]!)
( ]) }/ q' k* P4 c    8348:        e28db000         add        fp, sp, #0
1 g8 ]  c9 y8 Y    834c:        e24dd01c         sub        sp, sp, #286 |( i5 z& U! g" n" D: r5 y' i
    8350:        e50b0018         str        r0, [fp, #-24]# d0 ~+ Q! t7 ~! ?
    8354:        e50b101c         str        r1, [fp, #-28]1 q' R1 u! T& i, ^$ g
    8358:        e51b3008         ldr        r3, [fp, #-8]$ T5 `0 c9 v5 X- d# r/ D7 p* E' s
    835c:        e51b200c         ldr        r2, [fp, #-12]. T/ F/ D) S% q; s
    8360:        e0030392         mul        r3, r2, r35 G1 d3 q5 M7 @7 E3 \0 t* p7 D
    8364:        e50b3010         str        r3, [fp, #-16]/ s# ~; ]9 r$ W
    8368:        e3a03000         mov        r3, #0, d1 z/ r  G# e: D( S7 Z
    836c:        e1a00003         mov        r0, r3
8 M) u; S9 R0 L    8370:        e28bd000         add        sp, fp, #0
9 l! u' X  i3 n# f2 ~    8374:        e8bd0800         pop        {fp}
+ z1 ]; q. b% n8 s1 V# D    8378:        e12fff1e         bx        lr
) R. Z* L7 Q/ v* ~none:2 K0 n) a- A/ ]7 u' u. d3 U
00008404 <__libc_csu_fini>:
, {* U# S! E6 z; y    8404:        e12fff1e         bx        lr
' y3 D( ~$ t1 w$ K: U6 rarago:
4 C6 Q- j% r, y% K; S) `" G000083dc <__libc_csu_fini>:
5 M7 B  F# W$ a/ ?: M    83dc:        e12fff1e         bx        lr
7 W* h, v# Y# F* H, n! ~none:
  R% C1 Y% V# y3 u00008408 <__libc_csu_init>:
6 p( J, j' O# b7 q. r    8408:        e92d47f0         push        {r4, r5, r6, r7, r8, r9, sl, lr}5 H: |; Q3 a  V3 l9 x3 A
    840c:        e1a08001         mov        r8, r1& J5 @+ c+ P3 J# _1 p' k$ X
    8410:        e1a07002         mov        r7, r2
- M/ i4 ]; `  ]2 I    8414:        e1a0a000         mov        sl, r0
/ K( ]% E0 [8 v: `. u    8418:        ebffffb0         bl        82e0 <_init>
, q5 Q4 z4 p! r2 r. V    841c:        e59f1044         ldr        r1, [pc, #68]        ; 8468 <__libc_csu_init+0x60>
: p$ {5 J, M7 k! T    8420:        e59f3044         ldr        r3, [pc, #68]        ; 846c <__libc_csu_init+0x64>
% b7 b2 S  _; _. Y! U    8424:        e59f2044         ldr        r2, [pc, #68]        ; 8470 <__libc_csu_init+0x68># g! p) B6 [* a2 E) w; s( L3 u9 N, N
    8428:        e0613003         rsb        r3, r1, r3
1 h% N+ z. U4 @* {4 D    842c:        e08f2002         add        r2, pc, r2
* v( |: m% k" W9 w. f    8430:        e1b05143         asrs        r5, r3, #29 M1 c/ ?+ o$ y" u
    8434:        e0822001         add        r2, r2, r1
0 l. L& }  Q/ {. ^; E1 x' J0 ~    8438:        08bd87f0         popeq        {r4, r5, r6, r7, r8, r9, sl, pc}) k6 ^9 \' L% d2 p- C6 ^
    843c:        e1a06002         mov        r6, r21 i, g0 P) M% X# F! q( Y- F) O
    8440:        e3a04000         mov        r4, #0        ; 0x00 B# X/ V. S4 o. y
    8444:        e1a0000a         mov        r0, sl
" x8 }' z" d- x+ F    8448:        e1a01008         mov        r1, r8
$ Z  G+ O* ?; u& e, K    844c:        e1a02007         mov        r2, r7+ H/ B8 f; ]5 k
    8450:        e1a0e00f         mov        lr, pc7 p0 v( [  M5 j, o6 N5 ~0 P
    8454:        e796f104         ldr        pc, [r6, r4, lsl #2]: r- w/ ?* J7 g" X7 j% v
    8458:        e2844001         add        r4, r4, #1        ; 0x1
: ~: p5 r. O' S$ R& V    845c:        e1540005         cmp        r4, r5  T0 x/ g& Z0 p$ f( Z" `
    8460:        3afffff7         bcc        8444 <__libc_csu_init+0x3c>, a/ q4 j$ d6 Z3 W4 k1 Q( C
    8464:        e8bd87f0         pop        {r4, r5, r6, r7, r8, r9, sl, pc}
/ C/ s' E* {4 \2 i) }+ y    8468:        ffffff04         .word        0xffffff04
  i4 T3 n5 u8 v" y, h& Z2 |7 S, {    846c:        ffffff08         .word        0xffffff08$ L3 d* |- y7 p& @% \* i  F
    8470:        0000819c         .word        0x0000819c
: c% c  P! v7 W2 c" A  iarago:( B: @( ^; j, [/ j
0000837c <__libc_csu_init>:
- ?$ T$ t! a7 O8 K8 d    837c:        e92d45f8         push        {r3, r4, r5, r6, r7, r8, sl, lr}0 _* @: t, q2 T  @
    8380:        e59fa04c         ldr        sl, [pc, #76]        ; 83d4 <__libc_csu_init+0x58>
8 c) [2 x2 Q8 r/ A    8384:        e1a06000         mov        r6, r0
; ^& J& V! D5 g1 A. K0 t- k- t# f    8388:        e1a07001         mov        r7, r1( [9 e& g2 y$ s2 }
    838c:        e1a08002         mov        r8, r2
# X; z) E- }$ n% D3 @- \# w    8390:        ebffffae         bl        8250 <_init>
% u1 n9 c9 i6 a* m. q    8394:        e59f103c         ldr        r1, [pc, #60]        ; 83d8 <__libc_csu_init+0x5c>5 J$ ?6 O9 p* D$ v/ r( J8 w
    8398:        e08fa00a         add        sl, pc, sl7 }- }5 a$ e8 |6 L) q
    839c:        e08f0001         add        r0, pc, r10 p* W4 B! ]/ U. k* L' s
    83a0:        e06a5000         rsb        r5, sl, r0' k. e1 z3 b) ?% d" z1 k/ g9 ~" Q
    83a4:        e1b05145         asrs        r5, r5, #2
8 a8 b' L4 g6 ~/ G! V+ z8 f    83a8:        08bd85f8         popeq        {r3, r4, r5, r6, r7, r8, sl, pc}
; N* c) y* k& C- Z    83ac:        e3a04000         mov        r4, #0
' V+ R2 Q6 @9 L; `5 |/ V    83b0:        e79a3104         ldr        r3, [sl, r4, lsl #2]; V- c8 F( T0 ]0 x# J
    83b4:        e1a00006         mov        r0, r64 E% O7 |" n5 ?- i: Z/ y  _( y
    83b8:        e1a01007         mov        r1, r7
* K" P) _5 d8 V! o+ a    83bc:        e1a02008         mov        r2, r8; y5 Z4 J% V! F! ^( C' X
    83c0:        e2844001         add        r4, r4, #1. \( f2 [% W  V1 M# W
    83c4:        e12fff33         blx        r3+ K) y: m: t3 `" V8 H( ]
    83c8:        e1540005         cmp        r4, r5
+ p/ V1 J7 q( c5 \    83cc:        3afffff7         bcc        83b0 <__libc_csu_init+0x34>* l3 ?3 v' ]8 A' m  N4 L
    83d0:        e8bd85f8         pop        {r3, r4, r5, r6, r7, r8, sl, pc}
9 j; j0 d) n6 V3 b6 [    83d4:        00008054         .word        0x00008054
# p9 M2 V5 O4 v5 L& t    83d8:        00008054         .word        0x00008054) X& l; f5 _# w! U, n" D
none:. C& G0 p/ }# L
Disassembly of section .fini:
- i4 P7 H! Y$ b1 M1 Q
* m% B6 v8 k" i6 d& \+ U00008474 <_fini>:4 b! U2 s) z% k1 L
    8474:        e92d4010         push        {r4, lr}+ b3 v& e: ~7 U  P* H- m9 T
    8478:        e8bd8010         pop        {r4, pc}
" X: j: g$ c$ A: h  \arago:7 ]! ]& X' U7 t4 g, L
Disassembly of section .fini:
5 Y  ^2 g2 s: l+ G) ?: C) I! c9 P2 `- |
000083e0 <_fini>:
2 ]4 e; m" q0 j. |0 F    83e0:        e92d4008         push        {r3, lr}
8 T( k1 Y5 A# j+ L& A! f    83e4:        e8bd8008         pop        {r3, pc}
/ P: K7 O: q6 Z5 ?7 L6 Q3 D' R* w
  P, l& v5 t8 t$ K5 P
+ K, O) E& L+ ]4 A( w! K/ s9 W2 @0 m: h* R! F' y9 T( k

作者: Jackindata    时间: 2016-6-21 16:35
粗看是使用的寄存器有点不同。
0 r# D1 H5 I# y( E* Q我觉得这个基本程序代码的汇编差异不会有什么结果上的影响。
) w9 x/ D0 M) o& g' _关键可能在于对于 TI 本身提供的一些特性,arago 针对其进行优化,这类的影响才会比较大吧。




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