arm-linux-gcc编译c和汇编,韦东山-arm-linux-gnueabihf-gcc 与 arm-linux-gcc工具编译问题 - 百问网嵌入式问答社区...

我正在学习 点亮 LED灯这课(ARM_第8课_第7节),用C实现点亮LED灯。

之前用汇编写的那一节,我用 arm-linux-gnueabihf-gcc 工具集编译出来的可以执行,但是用C写的时候用 arm-linux-gnueabihf-gcc 工具集编译出来的bin文件无法点亮LED灯。

我使用韦老师的编译好的bin文件可以运行,其使用 arm-linux-gcc工具集

请问为何会出现这个样子,代码我最后完全复制粘贴韦老师的,是编译工具的问题吗?但我之前编译 S 文件没出现这个问题。

其反汇编代码如下,我了解x86汇编,但这个ARM汇编真的不太熟悉,还希望大佬们看一下:

led.elf:     file format elf32-littlearm

Disassembly of section .text:

00000000 <_start>:

0:    e3a0da01     mov    sp, #4096    ; 0x1000

4:    fa000000     blx    c

00000008 :

8:    eafffffe     b    8

0000000c :

c:    b480          push    {r7}

e:    b083          sub    sp, #12

10:    af00          add    r7, sp, #0

12:    2350          movs    r3, #80    ; 0x50

14:    f2c5 6300     movt    r3, #22016    ; 0x5600

18:    603b          str    r3, [r7, #0]

1a:    2354          movs    r3, #84    ; 0x54

1c:    f2c5 6300     movt    r3, #22016    ; 0x5600

20:    607b          str    r3, [r7, #4]

22:    683b          ldr    r3, [r7, #0]

24:    f44f 7280     mov.w    r2, #256    ; 0x100

28:    601a          str    r2, [r3, #0]

2a:    687b          ldr    r3, [r7, #4]

2c:    2200          movs    r2, #0

2e:    601a          str    r2, [r3, #0]

30:    bf00          nop

32:    370c          adds    r7, #12

34:    46bd          mov    sp, r7

36:    f85d 7b04     ldr.w    r7, [sp], #4

3a:    4770          bx    lr

Disassembly of section .comment:

00000000 <.comment>:

0:    3a434347     bcc    10d0d24 <__bss_end__>

4:    62552820     subsvs    r2, r5, #32, 16    ; 0x200000

8:    75746e75     ldrbvc    r6, [r4, #-3701]!    ; 0xfffff18b

c:    332e3920             ; instruction: 0x332e3920

10:    312d302e             ; instruction: 0x312d302e

14:    75627537     strbvc    r7, [r2, #-1335]!    ; 0xfffffac9

18:    3175746e     cmncc    r5, lr, ror #8

1c:    2e30327e     mrccs    2, 1, r3, cr0, cr14, {3}

20:    20293430     eorcs    r3, r9, r0, lsr r4

24:    2e332e39     mrccs    14, 1, r2, cr3, cr9, {1}

28:    Address 0x0000000000000028 is out of bounds.

Disassembly of section .ARM.attributes:

00000000 <.arm.attributes>:

0:    00002e41     andeq    r2, r0, r1, asr #28

4:    61656100     cmnvs    r5, r0, lsl #2

8:    01006962     tsteq    r0, r2, ror #18

c:    00000024     andeq    r0, r0, r4, lsr #32

10:    412d3705             ; instruction: 0x412d3705

14:    070a0600     streq    r0, [sl, -r0, lsl #12]

18:    09010841     stmdbeq    r1, {r0, r6, fp}

1c:    12040a02     andne    r0, r4, #8192    ; 0x2000

20:    15011404     strne    r1, [r1, #-1028]    ; 0xfffffbfc

24:    18031701     stmdane    r3, {r0, r8, r9, sl, ip}

28:    1c021a01             ; instruction: 0x1c021a01

2c:    Address 0x000000000000002c is out of bounds.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值