1- 裸机开发GPIO

 ①led1的点亮(汇编语言进行编写)

    

(1)led是上拉方式led对应着s3c2440的三个管脚(GPF4,GPF5,GPF6

(2)这里要使用到的寄存器有GPFCON和GPFDAT,通过读写寄存器的地址来访问寄存器

   GPFCON:可以进行设置引脚的输入输出以及中断等功能

   GPFDAT:改变相应位可以改变引脚电平状态

(3)JZ2440数据手册

led.S

.text                       @代码段

.global _start              @全局函数

_start:

    ldr  r0,0x56000050

        mov  r1,#0x00000100

        str  r1,[r0]

        ldr  r0,0x56000054

        mov  r1,#0x00000000

        str  r1,[r0]

halt_loop:

      b  halt_loop

Makefile:

led.bin: led.S

  arm-linux-gcc -g -c -o led.o led.S              //编译不链接

  arm-linux-ld -Ttext 0x00000000 -g led.o led_elf //链接(指定运行地址)

  arm-linux-objcopy -O binary -S led_elf led.bin

clean:

  rm -f  led_elf led.bin *.o

    (5)我们进行make后,就生成了led.bin文件,然后烧录到开发板中,切换nand启动,nand前4k的代码就被复制到SRAM中开始执行,这样就可以看到现象了,如果没有现象的话,再进行分析,查找原因 

原文地址:https://www.cnblogs.com/darren-pty/p/7881581.html