打印

请教高手:点亮LED灯并闪烁遇到的怪问题

[复制链接]
2778|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yangzx|  楼主 | 2008-6-1 13:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
刚买了开发板不久,看了许多资料。终于用汇编着手写第一个程序:点亮LED灯并闪烁
程序代码如下:
BIT14           EQU   (1<<14)                ;定义BIT14为0x00004000
       
        AREA   LED_ON,CODE,READONLY ;声明代码段LED_ON
        ENTRY                       ;标示程序入口
        CODE32                      ;声明32位ARM指令
START   LDR   R0,=0x56000050        ;R0 设为 GPFCON 寄存器。此寄存器 
                                    ;用于选择端口F各引脚的功能: 
                                    ;是输出、是输入、还是其他 
        MOV   R1,#BIT14             ;
        STR   R1,[R0]               ;设置GPF7为输出,其他脚为输入
        
        LDR   R0,=0x56000058        ;R0设为GPFUP寄存器。
        MOV   R1,#0xFF
        STR   R1,[R0]               ;禁能上拉
        
LEDON   LDR   R0,=0x56000054        ;R0设为GPFDAT寄存器
        MOV   R1,#0
        STR   R1,[R0]               ;GPF7为输出0灯亮
        
        MOV   R2,#0                 ;x=0;
DELAY   CMP   R2,#2000              ;while(x<2000)
        BHS   LEDOFF                ;{ x++;
        ADD   R2,R2,#1              ;}
        
        B        DELAY

LEDOFF  LDR   R0,=0x56000054        ;R0设为GPFDAT寄存器
        MOV   R1,#0x80
        STR   R1,[R0]                ;GPF7为输出1灯灭
        
        B     LEDON
        
        END
问题出在程序下载到开发板上。
1、通过软件调试,能正确实现功能!
2、在开发板的BIOS环境下,通过串口下载后运行,程序能运行实现预期功能,GPF7的LED闪烁。
3、把程序固化到FLASH上运行,我把程序烧写到NAND FLASH 并从NAND FLASH 启动的。ADS1.2中的关键设置如下:Ro_Base为0x30000000,Rw_Base为0x30003000.下载完后,上电复位。有如下现象:GPF7的LED点亮了,但没有闪烁。
4、把程序固化到FLASH上运行,我把程序烧写到NAND FLASH 并从NAND FLASH 启动的。ADS1.2中的关键设置如下:Ro_Base为0x0,Rw_Base为0x30003000(我知道这样设置是不对,NOR FLASH烧写和启动才这样设置)。下载完后,上电复位。也有如下现象:GPF7的LED点亮了,但没有闪烁!
请大家帮看看,从中指教下小弟!为什么我总不能高高兴兴编程呢?编程应该是种享受啊!

相关帖子

沙发
阿南| | 2008-6-1 17:29 | 只看该作者

如果从NAND Flash启动,则RO设成0x0

使用特权

评论回复
板凳
multiice| | 2008-6-1 18:16 | 只看该作者

ARM运行速度很快的

你熄灭后,马上就点亮,怎么能看到效果?除非你有孙猴子的火眼金睛

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

13

帖子

0

粉丝