关于BDM的问题

[复制链接]
3323|1
 楼主| dongshan 发表于 2007-12-10 14:53 | 显示全部楼层 |阅读模式
DM, ic, ni, TI, AD
<br />QG8小demo板上,初始化代码是由DI自动生成,但是在一执行MCU_Init这后,就提示:&nbsp;Target&nbsp;speed&nbsp;change&nbsp;detected&nbsp;new&nbsp;speed&nbsp;12.49MHz&nbsp;我知道是改变了BDM的连接速率,按理应不会啊?另外,BDM不是有后备时钟吗?&nbsp;不知QG8中有没有?查询数据手册,没找到相关说明。初用9s08系列特别麻烦,一遇到解决不了的问题,就要查阅大量的相关资料,可是资料又少。可以说我们就像一个拓荒者。随便哆嗦两句,以下是MCU_Init代码,请各位指点下:<br />&nbsp;&nbsp;/*&nbsp;###&nbsp;MC9S08QG8_16&nbsp;&quot;Cpu&quot;&nbsp;init&nbsp;code&nbsp;...&nbsp;*/<br />&nbsp;&nbsp;/*&nbsp;&nbsp;PE&nbsp;initialization&nbsp;code&nbsp;after&nbsp;reset&nbsp;*/<br />&nbsp;&nbsp;/*&nbsp;Common&nbsp;initialization&nbsp;of&nbsp;the&nbsp;write&nbsp;once&nbsp;registers&nbsp;*/<br />&nbsp;&nbsp;/*&nbsp;SOPT1:&nbsp;COPE=1,COPT=1,STOPE=0,BKGDPE=1,RSTPE=0&nbsp;*/<br />&nbsp;&nbsp;SOPT1&nbsp;=&nbsp;0xD2;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;/*&nbsp;SPMSC1:&nbsp;LVDF=0,LVDACK=0,LVDIE=0,LVDRE=1,LVDSE=1,LVDE=0,BGBE=0&nbsp;*/<br />&nbsp;&nbsp;SPMSC1&nbsp;=&nbsp;0x18;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;/*&nbsp;SPMSC2:&nbsp;PDF=0,PPDF=0,PPDACK=0,PDC=0,PPDC=0&nbsp;*/<br />&nbsp;&nbsp;SPMSC2&nbsp;=&nbsp;0x00;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;/*&nbsp;SPMSC3:&nbsp;LVDV=0,LVWV=0&nbsp;*/<br />&nbsp;&nbsp;SPMSC3&nbsp;&=&nbsp;(unsigned&nbsp;char)~0x30;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;/*&nbsp;&nbsp;System&nbsp;clock&nbsp;initialization&nbsp;*/<br />&nbsp;&nbsp;ICSTRM&nbsp;=&nbsp;*(unsigned&nbsp;char*far)0xFFAF;&nbsp;/*&nbsp;Initialize&nbsp;ICSTRM&nbsp;register&nbsp;from&nbsp;a&nbsp;non&nbsp;volatile&nbsp;memory&nbsp;*/<br />&nbsp;&nbsp;ICSSC&nbsp;=&nbsp;*(unsigned&nbsp;char*far)0xFFAE;&nbsp;&nbsp;/*&nbsp;Initialize&nbsp;ICSSC&nbsp;register&nbsp;from&nbsp;a&nbsp;non&nbsp;volatile&nbsp;memory&nbsp;*/<br />&nbsp;&nbsp;/*&nbsp;ICSC1:&nbsp;CLKS=0,RDIV=0,IREFS=1,IRCLKEN=0,IREFSTEN=0&nbsp;*/<br />&nbsp;&nbsp;ICSC1&nbsp;=&nbsp;0x04;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Initialization&nbsp;of&nbsp;the&nbsp;ICS&nbsp;control&nbsp;register&nbsp;1&nbsp;*/<br />&nbsp;&nbsp;/*&nbsp;ICSC2:&nbsp;BDIV=1,RANGE=0,HGO=0,LP=0,EREFS=0,ERCLKEN=0,EREFSTEN=0&nbsp;*/<br />&nbsp;&nbsp;ICSC2&nbsp;=&nbsp;0x40;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Initialization&nbsp;of&nbsp;the&nbsp;ICS&nbsp;control&nbsp;register&nbsp;2&nbsp;*/<br />&nbsp;&nbsp;/*&nbsp;SOPT2:&nbsp;COPCLKS=0,IICPS=1,ACIC=0&nbsp;*/<br />&nbsp;&nbsp;SOPT2&nbsp;=&nbsp;0x02;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;/*&nbsp;Common&nbsp;initialization&nbsp;of&nbsp;the&nbsp;CPU&nbsp;registers&nbsp;*/<br />&nbsp;&nbsp;/*&nbsp;PTADD:&nbsp;PTADD5=0&nbsp;*/<br />&nbsp;&nbsp;PTADD&nbsp;&=&nbsp;(unsigned&nbsp;char)~0x20;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;/*&nbsp;PTAPE:&nbsp;PTAPE5=1&nbsp;*/<br />&nbsp;&nbsp;PTAPE&nbsp;|=&nbsp;(unsigned&nbsp;char)0x20;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;/*&nbsp;PTASE:&nbsp;PTASE4=1,PTASE3=1,PTASE2=1,PTASE1=1,PTASE0=1&nbsp;*/<br />&nbsp;&nbsp;PTASE&nbsp;|=&nbsp;(unsigned&nbsp;char)0x1F;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;/*&nbsp;PTBSE:&nbsp;PTBSE7=1,PTBSE6=1,PTBSE5=1,PTBSE4=1,PTBSE3=1,PTBSE2=1,PTBSE1=1,PTBSE0=1&nbsp;*/<br />&nbsp;&nbsp;PTBSE&nbsp;=&nbsp;0xFF;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;/*&nbsp;PTADS:&nbsp;PTADS5=0,PTADS4=0,PTADS3=0,PTADS2=0,PTADS1=0,PTADS0=0&nbsp;*/<br />&nbsp;&nbsp;PTADS&nbsp;=&nbsp;0x00;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;/*&nbsp;PTBDS:&nbsp;PTBDS7=0,PTBDS6=0,PTBDS5=0,PTBDS4=0,PTBDS3=0,PTBDS2=0,PTBDS1=0,PTBDS0=0&nbsp;*/<br />&nbsp;&nbsp;PTBDS&nbsp;=&nbsp;0x00;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;/*&nbsp;###&nbsp;Init_IIC&nbsp;init&nbsp;code&nbsp;*/<br />&nbsp;&nbsp;/*&nbsp;IICF:&nbsp;MULT1=0,MULT0=1,ICR5=0,ICR4=0,ICR3=0,ICR2=0,ICR1=0,ICR0=0&nbsp;*/<br />&nbsp;&nbsp;IICF&nbsp;=&nbsp;0x40;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;/*&nbsp;IICA:&nbsp;ADDR7=0,ADDR6=0,ADDR5=0,ADDR4=0,ADDR3=0,ADDR2=0,ADDR1=0&nbsp;*/<br />&nbsp;&nbsp;IICA&nbsp;=&nbsp;0x00;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;/*&nbsp;IICS:&nbsp;TCF=0,IAAS=0,BUSY=0,ARBL=1,SRW=0,IICIF=1,RXAK=0&nbsp;*/<br />&nbsp;&nbsp;IICS&nbsp;=&nbsp;0x12;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Clear&nbsp;the&nbsp;interrupt&nbsp;flags&nbsp;*/<br />&nbsp;&nbsp;/*&nbsp;IICC:&nbsp;IICEN=1&nbsp;*/<br />&nbsp;&nbsp;IICC&nbsp;|=&nbsp;(unsigned&nbsp;char)0x80;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;/*&nbsp;IICC:&nbsp;IICEN=1,IICIE=0,MST=0,TX=1,TXAK=0,RSTA=0&nbsp;*/<br />&nbsp;&nbsp;IICC&nbsp;=&nbsp;0x90;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;/*&nbsp;###&nbsp;Init_COP&nbsp;init&nbsp;code&nbsp;*/<br />&nbsp;&nbsp;SRS&nbsp;=&nbsp;0xFF;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Clear&nbsp;WatchDog&nbsp;counter&nbsp;*/<br />&nbsp;&nbsp;/*&nbsp;###&nbsp;Init_IRQ&nbsp;init&nbsp;code&nbsp;*/<br />&nbsp;&nbsp;/*&nbsp;**&nbsp;Initialize&nbsp;pin&nbsp;PTA5_IRQ_TCLK_RESET&nbsp;**&nbsp;*/<br />&nbsp;&nbsp;/*&nbsp;IRQSC:&nbsp;IRQIE=0&nbsp;*/<br />&nbsp;&nbsp;IRQSC&nbsp;&=&nbsp;(unsigned&nbsp;char)~0x02;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Disable&nbsp;IRQ&nbsp;Interrupt&nbsp;*/<br />&nbsp;&nbsp;/*&nbsp;IRQSC:&nbsp;IRQACK=1&nbsp;*/<br />&nbsp;&nbsp;IRQSC&nbsp;|=&nbsp;(unsigned&nbsp;char)0x04;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;/*&nbsp;###&nbsp;Init_GPIO&nbsp;init&nbsp;code&nbsp;*/<br />&nbsp;&nbsp;/*&nbsp;PTADD:&nbsp;PTADD3=0,PTADD2=0&nbsp;*/<br />&nbsp;&nbsp;PTADD&nbsp;&=&nbsp;(unsigned&nbsp;char)~0x0C;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;/*&nbsp;###&nbsp;Init_MTIM&nbsp;init&nbsp;code&nbsp;*/<br />&nbsp;&nbsp;/*&nbsp;MTIMMOD:&nbsp;MOD=0&nbsp;*/<br />&nbsp;&nbsp;MTIMMOD&nbsp;=&nbsp;0x00;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;/*&nbsp;MTIMCLK:&nbsp;CLKS=0,PS=0&nbsp;*/<br />&nbsp;&nbsp;MTIMCLK&nbsp;=&nbsp;0x00;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;/*&nbsp;MTIMSC:&nbsp;TOF=0,TOIE=0,TRST=0,TSTP=1&nbsp;*/<br />&nbsp;&nbsp;MTIMSC&nbsp;=&nbsp;0x10;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;/*&nbsp;###&nbsp;Init_GPIO&nbsp;init&nbsp;code&nbsp;*/<br />&nbsp;&nbsp;/*&nbsp;PTBDD:&nbsp;PTBDD5=0&nbsp;*/<br />&nbsp;&nbsp;PTBDD&nbsp;&=&nbsp;(unsigned&nbsp;char)~0x20;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;/*&nbsp;###&nbsp;*/<br />&nbsp;&nbsp;asm&nbsp;CLI;&nbsp;
张明峰 发表于 2007-12-10 21:41 | 显示全部楼层

所以我不太赞成初学者用DI或PE

也许DI和PE可以让你走点捷径,但代价是你和芯片的硬件特性隔离了。<br /><br />把下面两句屏蔽掉看看是什么结果<br />ICSTRM&nbsp;=&nbsp;*(unsigned&nbsp;char*far)0xFFAF;&nbsp;/*&nbsp;Initialize&nbsp;ICSTRM&nbsp;register&nbsp;from&nbsp;a&nbsp;non&nbsp;volatile&nbsp;memory&nbsp;*/<br />&nbsp;&nbsp;ICSSC&nbsp;=&nbsp;*(unsigned&nbsp;char*far)0xFFAE;&nbsp;&nbsp;/*&nbsp;Initialize&nbsp;ICSSC&nbsp;register&nbsp;from&nbsp;a&nbsp;non&nbsp;volatile&nbsp;memory&nbsp;*/<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

79

主题

1144

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部