两个文件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/
分享到:
相关推荐
基于TQ2440开发板写的流水灯!
关于如何使用TQ210裸机,以及裸机的开发下载方式。资源分有点贵,见谅,不过绝对值得!
包含TQ210_BOARD_V6板卡中的LED,时钟初始化,UART初始化,printf格式化输出裸机代码
本文是关于S5PV210(TQ210)学习笔记——内存配置(DDR2)。
本文是关于Nand配置。
TQ2440裸机开发流水灯程序,包括启动代码的各文件说明
在和网友聊天过程中,他让我写一个tq210开发板的led裸机程序,所幸不辱使命,配合数据手册完成了这个小程序,对tq210的使用有借鉴意义
经常有客户咨询TQ210修改启动logo,为了让客户在后续方便使用,现在分享TQ210修改启动logo的方法,资料以PDF文档上传到百度网盘,欢迎大家下载!
LED 流水灯实验代码 S3C2440A TQ2440 keil uvision4 mdk 4.0
基于TQ2440的流水灯程序,绝对手写,绝对可用
弄了很久,今天终于将TQ2440光盘中的测试程序的启动代码提取出来,并且在上边写了LED流水灯的程序,目前运行良好。现在可以像用单片机一样跑裸机程序了。跟遇到我同样困境的人共享。
基于天嵌TQ210的arm板子的LED点灯程序代码,GPI0引脚为GPC0,若GPIO为GPC1的底板使用头文件“led_1.h”即可,放入linux系统输入make就行
linux环境下的TQ2440裸机例子,主要是通过makefile来编译的,可以直接下到TQ2440的开发板上运行,通过jlink下到norflash上运行,需要disconnect和复位。
TQ210按键驱动,用中断方式编写。使用串口0打印按键值。还是裸机程序,希望玩裸机程序的朋友需要。
TQ2440流水灯实验源程序,可以实现每隔约3秒时间4个led灯轮询点亮,效果明显。实验简单易懂。
用ADS编译测试通过,流水灯程序,可以通过uboot下载至NAND里运行,直接下载到SDRAM无法运行。若要在sdram可运行,将工程中的startcode删除即可。 http://blog.csdn.net/forsakening/article/details/8996343 这里是...
TQ2440开发板的流水灯程序,和startcode一起下载后可以实现流水灯,亲测无误!
TQ2440裸机开发按键程序,包含启动代码的各文档说明。
tq2440开发板上裸机跑led的程序,通过ads1.2开发
TQ2440裸机开发试验之Mmu_Nand.rarTQ2440裸机开发试验之Mmu_Nand.rar