mdk调试结果怎么和预期不一样

wanxj 发布于 2013/10/01 18:17
阅读 221
收藏 0
MDK

最近在学习arm的裸机程序,写了一个按键操作led的程序,运行和预期不一样---所有灯都亮的,而且按键没有反应。于是乎,我开始用MDK调试,结果,我和小伙伴们都惊呆了。(代码很简单,希望大家看一下,多多指教

crt0.s代码

 AREA asm ,CODE,READONLY
 ENTRY
 PRESERVE8
 extern main
start
 ldr r0,=0x53000000
 mov r1,#0x0
 str r1,[r0]

 ldr sp,=1024*4

 bl main
halt_loop
 b  halt_loop
 END

led_key.c代码:

int main()
{
 unsigned int tabG[4]={0,3,5,6};//////////这是出错的地方

 unsigned int tabB[4]={5,6,7,8};//////////这是出错的地方
 int i;
 unsigned long int dwdat;
 GPBCON=GPB5_out|GPB6_out|GPB7_out|GPB8_out;
 GPGCON=GPG0_in&GPG3_in&GPG5_in&GPG6_in;
 while(1)
 {。。。。。。。}

}

运行完代码中注释的部分之后tabB和tabG的值怎么都是0xFF00FF00,0xFFF7FFF7这一类似的?

但如果我把crt0.s从工程中去掉,然后把S3C2440.S加进去并从RESET启动,结果又是正确的。

难道是我的crt0.s设置错了吗?到底出了什么问题哩?

希望各位高手多多指教。

 

加载中
返回顶部
顶部