Board logo

标题: 关于D64的一些问题 [打印本页]

作者: icetea    时间: 2005-12-9 11:29     标题: 关于D64的一些问题

我用D64的片子,在编译时出现了5个警告和两错误,我想不出原因,请大家不要嫌简单,帮忙看看,不胜感激。

1.我向工程添加了3种文件,分别是sci.h,sci.c,mscan.c,mscan.h,display.c,display.h;编译时出现了5个警告:(E:\CAN\MyDesign\graduate\硕士课题\D64是工程所在路径)

L1923: File E:\CAN\MyDesign\graduate\硕士课题\D64\D64_Data\Simulator\ObjectCode\display.c.o has no DWARF debug info


L1923: File E:\CAN\MyDesign\graduate\硕士课题\D64\D64_Data\Simulator\ObjectCode\mscan.c.o has no DWARF debug info


L1923: File E:\CAN\MyDesign\graduate\硕士课题\D64\D64_Data\Simulator\ObjectCode\sci.c.o has no DWARF debug info


L1823: External object CANRecive in E:\CAN\MyDesign\graduate\硕士课题\D64\D64_Data\Simulator\ObjectCode\mscan.c.o created by
default


L1823: External object SCI0_data in E:\CAN\MyDesign\graduate\硕士课题\D64\D64_Data\Simulator\ObjectCode\sci.c.o created by de
fault


2.是关于中断的问题。我试了不得种方式都出现了错误信息。我把第一个复位中断的中断号看成0,往下依次递增,到CAN接收中断是38号。

第一种中断函数是这样写的void interrupt 38 MSCAN0Rec(void){},错误信息:

Link Error   : L1907: Fixup overflow in _Vector_38, to MSCAN0Rec type 1, at offset 0x0


Link Error   : Link failed

第二种方式,在.prm文件下面增加:VECTOR ADDRESS 0xFFB2  MSCAN0Rec;中断函数形式为void interrupt  MSCAN0Rec(void){},编译出错为:

Link Error   : L1108: Initializing of Vector MSCAN0Rec failed because of over- or underflow of vector value


Link Error   : Link failed

[此贴子已经被作者于2005-12-9 9:37:52编辑过]

[此贴子已经被作者于2005-12-9 11:29:24编辑过]


作者: icetea    时间: 2005-12-9 12:39

在中断函数前后加上段定义使用第二种中断定义方式,错误提示没有了。 但那几个警告依然存在。

[此贴子已经被作者于2005-12-9 12:39:27编辑过]


作者: wanfeng220    时间: 2005-12-9 13:24

回否是你路径的问题,改为全字母试试
作者: icetea    时间: 2005-12-10 21:18

改成全字母的也不行。怎样给工程中被其它文件引用的全局变量分段?我用#pragma DATA_SEG DEFAULT,就有警告信息了。
作者: strongchen    时间: 2005-12-13 11:18

在编译界面上有一个小小的绿色小爬虫的标志,代表调试(de-bug)信息。在相应的文件后把这一栏点上,此警告信息即可消除。
作者: icetea    时间: 2005-12-15 16:03

编译通过后,点选Debug是不是就可以将程序下载到单片机中了?我将物理器件连接好后,进行Debug时,它提示我:Fail to find communication speed.我设置Set communication speed中的Auto detect后,依然有这个问题。大家说说这是怎么回事,不要因为太简单就不回贴呀,多谢了。
作者: strongchen    时间: 2005-12-15 16:31

看起来你的硬件连接有问题。仔细检查一下吧。
作者: icetea    时间: 2005-12-16 16:08

我的电路图是参考了供应商给的资料,电源用MC33989,晶体为16MHZ,现在我把这两个全部外接了,点选调试时仍然是:Taget is not connected.可能电路有问题,板主有没有验证过的相关电路让我参考一下。
作者: strongchen    时间: 2005-12-16 16:37

先检查一下你的晶振是否工作正常。
作者: nishui_2000    时间: 2005-12-16 16:42

是不是你的D64没用复位芯片,反正我调试发现,不用复位芯片是不行。而且你的晶镇用的有源或者无源,相应的管脚要拉高或者拉低的
作者: icetea    时间: 2005-12-20 10:27

我如果用16M的晶体(非晶振源),数据手册中的隔直流电容应取多少,就是那个Cdc.
作者: icetea    时间: 2005-12-25 11:00

我的晶振电路采用手册上的第一种格式,可能应该叫串连型无源晶振,第36脚(xclk)我通过一电阻后接VDD上时,晶体输出16M的波型,还过振幅只有1V,如果接地的话,晶体反倒没有输出了。




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