韦东山JZ2440编程学习:点亮LED程序,无法运行,求教?

1.在学习韦东山ARM开发的第二个小程序,用c语言编程点亮led灯,烧写到开发板,发现无法点亮。通过生成.dis的机器码,发现没有生成分配内存地址,检查了汇编程序,没发现问题,请各位大佬指教,谢谢

/*
*   给main函数分配地址,并调用函数
*/

.text
.global _start

_start:

    /* 设置内存: sp 栈*/
    ldr sp, = 4096

    /* 启动main函数*/
    bl main

halt:
    b halt


int main()
{
    unsigned int *pGPFCON = (unsigned int *)0X56000050;
    unsigned int *pGPFDAT = (unsigned int *)0X56000054;

    /* 配置GPF4为输出引脚*/
    *pGPFCON = 0x100;

    /* 配置GPF4输出低电平*/
    *pGPFDAT = 0;

    return 0;
}


```机器码部分,len_on.dis


led_on.elf:     file format elf32-littlearm

Disassembly of section .text:

00000000 <main>:
   0:   e1a0c00d    mov ip, sp
   4:   e92dd800    stmdb   sp!, {fp, ip, lr, pc}
   8:   e24cb004    sub fp, ip, #4  ; 0x4
   c:   e24dd008    sub sp, sp, #8  ; 0x8
  10:   e3a03456    mov r3, #1442840576 ; 0x56000000
  14:   e2833050    add r3, r3, #80 ; 0x50
  18:   e50b3010    str r3, [fp, #-16]
  1c:   e3a03456    mov r3, #1442840576 ; 0x56000000
  20:   e2833054    add r3, r3, #84 ; 0x54
  24:   e50b3014    str r3, [fp, #-20]
  28:   e51b2010    ldr r2, [fp, #-16]
  2c:   e3a03c01    mov r3, #256    ; 0x100
  30:   e5823000    str r3, [r2]
  34:   e51b2014    ldr r2, [fp, #-20]
  38:   e3a03000    mov r3, #0  ; 0x0
  3c:   e5823000    str r3, [r2]
  40:   e3a03000    mov r3, #0  ; 0x0
  44:   e1a00003    mov r0, r3
  48:   e24bd00c    sub sp, fp, #12 ; 0xc
  4c:   e89da800    ldmia   sp, {fp, sp, pc}

00000050 <_start>:
  50:   e3a0da01    mov sp, #4096   ; 0x1000
  54:   ebffffe9    bl  0 <main>

00000058 <halt>:
  58:   eafffffe    b   58 <halt>
Disassembly of section .comment:

00000000 <.comment>:
   0:   43434700    cmpmi   r3, #0  ; 0x0
   4:   4728203a    undefined
   8:   2029554e    eorcs   r5, r9, lr, asr #10
   c:   2e342e33    mrccs   14, 1, r2, cr4, cr3, {1}
  10:   Address 0x10 is out of bounds.

https://blog.csdn.net/anfeng3664/article/details/101179751

相同问题,请问各位大佬如何解决