Board logo

标题: [求助]debug时error reading registers是何意 [打印本页]

作者: zyandbsb    时间: 2008-2-27 16:45     标题: [求助]debug时error reading registers是何意

同样的程序使用8037EVM,debug和运行都正常。后来改用8036芯片,程序基本没变,debug时出现错误信息:"error reading registers",请问是怎么回事呢?谢谢
作者: zyandbsb    时间: 2008-2-27 16:59

我检查了8036.h文件,我是根据8037的头文件改的,寄存器名称和地址都改过了。而且程序中只用了gpio口,所以只要确保gpio口地址正确不就可以吗?但是在头文件里并没有把所有寄存器和地址对应起来。8037的那个文件就可以正常执行啊。不知道究竟是什么原因
作者: zyandbsb    时间: 2008-2-27 17:00

把程序附上,很简单
/***********************************************
*功能:GPIOB5口输出值每隔一段时间(2秒)改变一次
*芯片:8036
*编写:
*时间:
************************************************/
#include "MC56F8036.h"
#include "SUB.h"



/*函数名:delay()*/
/*形参:dtime */
/*作用:有效延时1ms */
void Delay (unsigned int dtime)
{
unsigned int i;
for(;dtime>0;dtime--)
{
for(i=0;i<124;i++)
{
;
}
}
}


/*函数名:initgpioB() */
/*作用:初始化程序*/
void initgpioB ()
{
asm(bfclr #$0002,X:COP_CTRL);

asm(bfclr #$0010,X:GPIO_B_PEREN);
asm(bfclr #$0001,X:GPIO_B_PEREN);
asm(bfclr #$0002,X:GPIO_B_PEREN);
asm(bfclr #$0004,X:GPIO_B_PEREN);
asm(bfclr #$0008,X:GPIO_B_PEREN);
asm(bfclr #$0020,X:GPIO_B_PEREN);

asm(bfset #$0010,X:GPIO_B_DDIR);
asm(bfset #$0001,X:GPIO_B_DDIR);
asm(bfset #$0002,X:GPIO_B_DDIR);
asm(bfset #$0004,X:GPIO_B_DDIR);
asm(bfset #$0008,X:GPIO_B_DDIR);
asm(bfset #$0020,X:GPIO_B_DDIR);

asm(bfclr #$0010,X:GPIO_B_DATA);
asm(bfclr #$0001,X:GPIO_B_DATA);
asm(bfclr #$0002,X:GPIO_B_DATA);
asm(bfclr #$0004,X:GPIO_B_DATA);
asm(bfclr #$0008,X:GPIO_B_DATA);
asm(bfclr #$0020,X:GPIO_B_DATA);


}



/*函数名:main() */
/*作用:主程序*/
void main (void)
{
initgpioB ();
for(;;)
{
asm(bfchg #$0010,X:GPIO_B_DATA);
Delay(1000);

}

}
作者: strongchen    时间: 2008-2-27 17:15

用CodeWarrior提供的8036的头文件试试。
作者: zyandbsb    时间: 2008-2-27 17:52

我没有找到。在哪可以下呢?
作者: zyandbsb    时间: 2008-2-28 09:51

后来又在板上将与reset脚相连的7414连上了,结果debug时还是有问题,显示“unknown protocal error”。真不知道该怎么下载了




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0