TQ2440+RealViewMDK调试LED跑马灯(成功!)
去年买的TQ2440的开发板,搁了一年,没咋用,今年心血来潮,想学学了,于是又翻开了板子,结果是个伤脑筋的活啊。。。。。。果然比单片机、AVR的来的难啊,搞了两天,也参考了网上的资料,竟然(居然)才弄好了一个LED跑马灯(无OS)的编译和运行,于是乎自己先记录下(不管是否真的懂了其中的细节),以后在慢慢体验挖掘为什么。
在网上收了“tq2440 mdk”,下载了一个《tq2440跑马灯的工程(MDK)》的压缩包,估计是可以运行的,但是他没有说怎么运行,(在NOR还是NAND方式下啊?。。。)所以自己在琢磨琢磨,下来《ARM学习-RealView_MDK+Jlink+TQ2440_调试笔记》这篇文章。由于文件里的图片不是很清楚,so。。。这里先上几个图片:
上面的设置务必要一致。。。
main函数:
#define GPBCON (*(volatile unsigned *) 0x56000010) #define GPBDAT (*(volatile unsigned *) 0x56000014) #define GPBUP (*(volatile unsigned *) 0x56000018) void delay() { int i, j; for(i = 0; i < 10000; i ++) for(j = 0; j < 50; j ++); } int main(void) { GPBCON = 0x155555;//配置protB的所有引脚为输出 while(1) { //点亮第一个小灯 GPBDAT |= 0x1E0; GPBDAT &= 0x1C0; delay(); //点亮第二个小灯 GPBDAT |= 0x1E0; GPBDAT &= 0x1A0; delay(); //点亮第三个小灯 GPBDAT |= 0x1E0; GPBDAT &= 0x160; delay(); //点亮第四个小灯 GPBDAT |= 0x1E0; GPBDAT &= 0x0E0; delay(); } return 0; }
当然在建立工程以前,把S3C2440.s的文件添加进来。
于是把TQ2440板子的NOR/NAND选为NOR方式,然后在load
这样LED就正常跑马了。。。。