两个文件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
上一篇:TQ210裸机编程(4)——按键(中断法)
下一篇:TQ210裸机编程(1)——LED流水灯
推荐阅读最新更新时间:2024-11-03 20:46
设计资源 培训 开发板 精华推荐
- L78L24C正压稳压器可调输出稳压器的典型应用
- C8051F991DK,用于工业应用的 C8051F991 8051 微控制器的开发系统
- BTS 3134 N智能低边电源开关典型应用电路
- LTC2862AHDD-2 ±60V 20Mbps 电平转换器/隔离器的典型应用
- LT1308ACS8 SEPIC(单端初级电感转换器)的典型应用电路将 3V 至 10V 输入转换为 5V/500mA 稳压输出
- LTC3447EDD 演示板,DFN Vccc=2.5V-5.5Vin 中的 I2C 可控降压稳压器
- LT6656BIDC-3、3V 扩展电源范围电压基准的典型应用
- 低压6级电磁加速器
- 单片机控制 交流220
- 使用 Richtek Technology Corporation 的 RT8237C 的参考设计