天嵌 ARM开发社区

 找回密码
 注册
查看: 1695|回复: 0

TQ210裸机编程(2)——LED流水灯

[复制链接]
freewing 发表于 2014-6-8 00:54:27 | 显示全部楼层 |阅读模式
两个文件start.S和led.c

start.S

.global _start                @声明一个全局的标号
_start:
     bl main                    @跳转到C函数去执行
halt:
     b halt                    @死循环





led.c

#define GPC0CON        *((volatile unsigned int *)0xE0200060)
#define GPC0DAT        *((volatile unsigned int *)0xE0200064)

void delay(volatile unsigned int t)
{
     volatile unsigned int t2 = 0xFFFF;
     while (t--)
         for (; t2; t2--);
}

int main()
{
     int toggle = 0;
     GPC0CON &= ~(0xFF << 12);
     GPC0CON |= 0x11 << 12;    // 配置GPC0_3和GPC0_4为输出
     
     while (1)
     {
         GPC0DAT &= ~(0x3 << 3);        // 熄灭LED1和LED2
         
         if (toggle)
             GPC0DAT |= 1 << 3;        // 点亮LED1
         else
             GPC0DAT |= 1 << 4;        // 点亮LED2
         
         toggle = !toggle;
         delay(0x50000);
     }
     
     return 0;
}




Makefile

led.bin: start.o led.o
     arm-linux-ld -Ttext 0x20000000 -o led.elf $^
     arm-linux-objcopy -O binary led.elf $@
     arm-linux-objdump -D led.elf > led.dis
     
led.o : led.c
     arm-linux-gcc -c $< -o $@
start.o : start.S
     arm-linux-gcc -c $< -o $@
     
clean:
     rm *.o *.elf *.bin *.dis




转载来源:http://blog.csdn.net/zjhsucceed_329/
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-20 14:35 , Processed in 1.031243 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表