Board logo

标题: could not measure target baudrate [打印本页]

作者: lastest    时间: 2007-6-2 19:31     标题: could not measure target baudrate

请问各位,在用USBMULTILINK MON08调试程序的时候,连接正确,使用Mon08提供的5V和时钟分频,然后进入调试,直接点击运行,在command窗口就会出现标题那句话,然后弹出对话框,提示communication error,说是can't communicate with target processor,然后让选择ping,reset和halt,每次总ping不通,只能关掉重来。
但是如果单步运行程序的话,就不会出现这个错误提示。
最近被这个问题搞得焦头烂额了,在网上搜索也没什么帮助的结果。。
在这里求助各位大大,该怎么办呢。。
作者: strongchen    时间: 2007-6-4 09:48

你用的是什么芯片?USBMULTILINK提供的时钟是什么频率的?
作者: lastest    时间: 2007-6-4 17:14

谢谢回复,我用的HC908MR32芯片,我选择了Mon08提供的5V和13脚的晶振,看手册mon08的晶振是4.9152MHz,我选择了2分频,时钟频率就应该是4.9152/2=2.4576MHz。现在的话应该单片机上的内部时钟就被屏蔽了的啊。

作者: strongchen    时间: 2007-6-4 17:46

你可以直接使用PROG08SZ编程软件,从窗口界面上可以看出Multilink提供的时钟频率到底是多少。另外,如果你的目标板上接有时钟电路,最好把它断开试试。
作者: lastest    时间: 2007-6-5 09:15

图2中,我选择了Mon08提供的5V和13脚的晶振,因为在Device Clock里面选择"Target self-clocked,PE Clock Disabled"的话,连不上单片机。看手册的话,mon08的晶振是4.9152MHz,我选择了2分频,时钟频率就应该是4.9152/2=2.4576MHz。
不过右边用红圈圈起来的那个频率(7.5000MHz或者5.0000MHz)我就看不懂是什么意思了。。
[upload=image/pjpeg]uploadImages/图2.JPG[/upload]
作者: lastest    时间: 2007-6-5 09:16

下面这个图就是直接运行时的出错提示
[upload=image/pjpeg]uploadImages/error.JPG[/upload]
作者: lastest    时间: 2007-6-5 09:57

发现小一些的只实现某个功能的程序就不会出这个错误,而当把整个全功能程序烧写下去再直接运行就会这样,sigh。
作者: strongchen    时间: 2007-6-5 10:04

你的这个USBMULTILINK的版本不对,它只能提供7.5M的时钟。你必须在目标板上安装晶振电路,或采用外部时钟。
作者: lastest    时间: 2007-6-5 14:45

这个连接画面是直接在CW08 V5.1 compile,make完之后,点绿色箭头debug出来的。
我在单片机的osc口接了8M的晶振了,但是用usbmultilink连接的时候,如果在Device Clock里面选择"Target self-clocked,PE Clock Disabled"的话,连不上单片机。
作者: lastest    时间: 2007-6-5 14:49

我用专门的PROG08SZ烧写的时候
fig1是没连接Multilink的时候,Frequency那地方是灰色的9.8304Mhz不可选
[upload=image/pjpeg]uploadImages/fig1.JPG[/upload]
fig2是连接上Multilink之后,Frequency自动变成7.5000Mhz和5.000Mhz了。
[upload=image/pjpeg]uploadImages/fig2.JPG[/upload]
您的意思就是说这个仿真器自己的时钟不对?那也太郁闷了。。

那如果我继续用这个仿真器的时钟的话,编程时应该注意一些什么呢?
作者: strongchen    时间: 2007-6-5 14:52

必须接4.9152的晶振,因为通讯的波特率是确定的。调试完成后,系统可以用其他的时钟频率运行。
作者: lastest    时间: 2007-6-5 16:43

谢谢。
可是我重新换了4.9152的晶振,并且选择了这个晶振作为时钟,连接USBMultilink直接就出现通讯错误窗口了,连程序都没写下去。
还不如选择multilink的7.5M时钟的时候。
唉,要疯了。

作者: strongchen    时间: 2007-6-5 17:13

那可能没有起振,或幅值太小。仔细检查一下。同时要注意连接时软件界面的各个选项。另外,PT2、PT3和PT4口应为0 1 0。

[此贴子已经被strongchen于2007-6-5 17:13:39编辑过]


作者: strongchen    时间: 2007-6-6 09:46

不是246,是234。直接连到MON08接口是可以的,你可以试试2分频和4分频等不同的组合。
作者: lastest    时间: 2007-6-6 10:57

嗯 我原来是按照说明直接把PTA7 PTC2 PTC3 PTC4那几个口直接连到Mon08的
刚才把他们焊到上拉下拉0 0 1 0之后 还是不行 放弃了...

[此贴子已经被作者于2007-6-6 10:57:13编辑过]


作者: xiang1912    时间: 2007-6-7 17:53

strongchen你好,楼主的问题我遇到过,可能不是你所说的问题,我现在手头有两款USB Multilink REV B和REV D,REV B输出晶振大小为9.8304MHz,后者的输出晶振大小为7.5MHz和5.0MHz.楼主的问题可能在与,电脑主机USB接口的问题,你换个看看可能就行了。我经常遇到都那么解决的,但不太明白是怎么回事?
作者: strongchen    时间: 2007-6-8 10:08

关键是不同的芯片需要不同频率的时钟。Multilink与电脑主机的USB通讯应该不是问题,它与时钟频率没什么关系。
作者: majialong@yahoo    时间: 2007-6-8 10:22

我遇到的也是这个问题,我在板上装晶振,连接时选择目标板自带晶振,但无法连接。斑竹,这个问题以前问过你吧,给个针对性的回答吧。
作者: strongchen    时间: 2007-6-8 10:33

最可能的问题就是目标板的晶振电路有问题,没有起振或信号赋值太小。
作者: xiang1912    时间: 2007-6-8 22:04

我遇到同样的问题就是那么解决的,strongchen不知道你是如何解决的?
作者: 雁舞白沙    时间: 2007-6-8 23:15

期待正确的解决办法!
作者: xiang1912    时间: 2007-6-9 15:32

还要补充一点的就是,USB Mutilink在线的时候,板子上的晶振应该就不起作用了。我在线调试通过MSCAN.
作者: lastest    时间: 2007-6-10 15:33

两天没来就这么热闹,感谢各位的回复,我看了我的仿真器才发现是Rev D的,重新看了这个版本的手册才知道它就是7.5Mhz的。
至于USB接口的问题,我觉得不是吧,我在两台电脑的好几个USB接口都连接过,都出同样的错误。前天我问freescale技术支持,他回信如下:
"Yes, for HC08 MCU, we should set a break point before pressing F5 button, then when while the programme executing and meet the break point, it will go back to the monitor mode.
Otherwise the programme can not go back to monitor mode and the debuger will lose contact with the running programme."
希望对各位有帮助。
作者: 雁舞白沙    时间: 2007-6-10 17:17

什么意思啊?那位翻译翻译
作者: seuafu2005    时间: 2007-6-11 13:50

F5是调试的时候全速运行的命令,如果不预设断点,运行以后debugger就不控制程序的运行了。大家可以发现,在Monitor mode调试方式下,stop的指令是没用的




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