天嵌 ARM开发社区

 找回密码
 注册
查看: 1417|回复: 3

led按键测试老是重启?

[复制链接]
gostar1984 发表于 2010-4-2 20:07:55 | 显示全部楼层 |阅读模式
我用韦东山的key_led 按键测试程序,把里面的输入按键引脚改成了GPF4_in,GPF2_in,GPF1_in,GPF0_in ,然后make,在redhat中程序运行没有问题,下到norflash中却没有现象,只是在重启,但是在汇编中也有把watchdog关闭.请问这是什么原因?
亚瑟王 发表于 2010-4-9 13:30:41 | 显示全部楼层
你问一下他吧。我没有看到这个程序,没法说。
 楼主| gostar1984 发表于 2010-4-10 16:28:36 | 显示全部楼层
源程序:
#define GPBCON  (*(volatile unsigned long *)0x56000010)
#define GPBDAT   (*(volatile unsigned long *)0x56000014)
#define GPFCON (*(volatile unsigned long *)0x56000050)
#define GPFDAT (*(volatile unsigned long *)0x56000054)
#define GPB5_out  (1<<(5*2))
#define GPB6_out  (1<<(6*2))
#define GPB7_out  (1<<(7*2))
#define GPB8_out  (1<<(8*2))
#define GPF4_in ~(3<<(4*2))
#define GPF2_in ~(3<<(2*2))
#define GPF1_in ~(3<<(1*2))
#define GPF0_in ~(3<<(0*2))
int main()
{
    unsigned long dwDat;
    GPBCON=GPB5_out | GPB6_out | GPB7_out | GPB8_out;
   GPFCON=GPF4_in & GPF2_in & GPF1_in & GPF0_in;
   while(1)
               {
                 dwDat=GPFDAT;
                 if(dwDat & (1<<4))
                 GPBDAT |=(1<<5);
else
       GPBDAT &=~(1<<5);
   if(dwDat & (1<<2))
                 GPBDAT |=(1<<6);
else
       GPBDAT &=~(1<<6);
   if(dwDat & (1<<1))
                 GPBDAT |=(1<<7);
else
       GPBDAT &=~(1<<7);
   if(dwDat & (1<<0))
                 GPBDAT |=(1<<8);
else
       GPBDAT &=~(1<<8);}
return 0; }
请您看看问题所在。
亚瑟王 发表于 2010-4-10 18:03:30 | 显示全部楼层
在韦东山的书中讲的是将程序烧写到Nand flash中运行的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-10-6 12:29 , Processed in 1.028360 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

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