编写DSP程序,完成修改DM642 PCI接口EEPROM的配置空间。 (1) 理解PCI协议,掌握DM642中PCI接口部分,熟悉PCI部分寄存器。(2) 掌握PCI的EEPROM配置、修改,在此基础上完成要求的程序。要求在PC主机中可以通过PCISCOPE软件观察到修改的效果。 我也搜了一些如:1、把地址写入到地址寄存器EEADR中,注意该地址不能超过所用PIC1687X型号 单片机内部EEPROM实际容量。 2、把控制位EEPGD清零,以选定读取对象为EEPROM数据存储器。 3、把控制位RD置1,启动本次读操作。 4、读取已经反馈到EEDATA寄存器中的数据。 写EEPROM数据存储器的操作步骤: 1、确保目前的WR=0;假如WR=1,表明一次写操作正在进行,需要查询等待。 2、把地址送入EEADR中,并且确保地址不会超出目标单片机内部EEPROM的最大地址范围。 3、把准备烧写的8位数据送入EEDATA中。 4、清除控制位EEPGD,以指定EEPROM作为烧写对象。 5、把写使能位WREN置1,允许后面进行写操作。 6、清除全局中断控制位GIE,关闭所有中断请求。 7、执行专用的“5指令序列”,这5条指令是厂家规定的规定搭配,丝毫不能更改。用1条移动指令把55H写入到W,用1条移动指令再把w中的55H转入控制寄存器EECON2中,用1条移动指令把AAH写入W,用1条移动指令再把W中的AAH转入控制寄存器EECON2中。 8、全局中断控制位GIE置1,放开总中断屏蔽位(如果打算利用EEIF中断功能)。 9、清除写操作允许位WREN,在本次写操作没有完毕之前禁止重开新的一次写操作。 10、当写操作完成时,控制位WR被硬件自动清零0,中断标志位EEIF被硬件自动置1。 如果本次写操作还没有完成,那么可以用软件查询EEIF位是否为1,或者查询WR位是否为0,来判定写操作是否结束。 看是看明白了,感觉都说出来怎么做了,但具体该怎么操作啊?问题太低级,希望大家不要介意,我会努力学习的。 |