还是看的不够认真,CYAPI.h中提供了对usbcontroledpt的读写函数
通过控制端点——端点0——可以进行固件下载
所以只需要把CPU Hold之后,往内部ram中写入控制程序,再把CPU复位就可以了,就是这么简单。
下面的问题就是用keil生成的hex文件以什么样的格式写进去,解决方法是这样的,用fx2提供的控制面板把固件下好后,然后从ram中读出数据,通过与hex文件对照,就会发现hex的文件格式了。
也许hex的格式适用于所有51单片机内核,但以前也没用过,直接对照也不麻烦。看了一会儿就会发现它的组成是由数据个数,ram地址号,数据,校验字组成。因为用cyapi.h中的控制端点读写函数,需要传递的类型是PUCHAR类型,所以先编个小程序把hex中的数据按地址顺序存成unsigned char型的数组,然后再写入ram中就可以了。
至此,完成了由C++进行固件下载的操作,就不再用fx2提供的控制面板了。
于是关于硬件通路的功能全部完成。在板子与主机接上后,下载固件,通过读指令就可以接收到外设经过cy68013后传到PC机的数据了。
对cy68013的研究就要告一段落了,以后该转入正题了。
用户377235 2015-9-11 15:43
用户171727 2009-8-24 20:28