韦东山Linux嵌入式课程社区
直播中

殷谷光

7年用户 1032经验值
擅长:控制/MCU
私信 关注

mini2440跑不起来

各位高手们,板子是mini2440 的,我这个简单的裸板点灯是基于老大的裸板,非常简单,可惜就是跑不起来,谁能解决下?


请大家不要以为这个程序简单,我花了好久时间的调试,前提是在裸板上的(没有uboot的环境)jlink 调试,还有人在uboot的基础上也调不通的。你们可以根据自己的
板子试试这个程序,我实在是受不了了。这个都调不通,学了那么多知识感觉都是太空虚了。。。。。哎!

在crt0.s
.text
.global _start
_start :
LDR R0, =0x53000000

MOV R1, #0x0 ;//关看门狗
STR R1, [R0]

ldr  sp , =1024*4

bl  main
MAIN_LOOP:
B MAIN_LOOP

在led_on_c.c中


#define GPFCON  (*(volatile unsigned long *)0x56000010)
#define GPFDAT  (*(volatile unsigned long *)0x56000014)

#define GPF4_out (1<<(4*2))
#define GPF5_out (1<<(5*2))
#define GPF6_out (1<<(6*2))
#define GPF7_out (1<<(7*2))

#define GPF8_out (1<<(8*2))


int main(void)
{
unsigned long i = 0;

GPFCON = GPF5_out|GPF6_out|GPF7_out|GPF8_out;
// 将LED1-3对应的GPF4/5/6三个引脚设为输出
while(1) //我想让这个灯无限时间的亮灭,可是现在的现象是只能亮一次,有谁知道是怎么回事
{
   GPFDAT=0xffffffff ;//熄灭
   for(i=0;i<100000;i++);  
   GPFDAT=0 ; //点亮
}

return 0;
}

回帖(3)

周芸

2019-7-4 13:37:53
自己揭帖,因为程序烧在norflash中,局部变量无法写入,所以造成此种现象!
举报

吴南加

2019-7-4 13:49:29
回复 2楼杨志强的帖子

你解决问题了?怎么解决的?
举报

陈墨

2019-7-4 13:57:49
while(1) //我想让这个灯无限时间的亮灭,可是现在的现象是只能亮一次,有谁知道是怎么回事
{
   GPFDAT=0xffffffff ;//熄灭
   for(i=0;i<100000;i++);  
   GPFDAT=0 ; //点亮
for(i=0;i<100000;i++);  

}
举报

更多回帖

发帖
×
20
完善资料,
赚取积分