ALTERA的FPGA配置方法有很多,其中一种是使用仿真器向EPCS flash中烧写pof文件。现在在FPGA中实现了一个SPI总线控制器,通过这个控制器,可以使用软件直接向EPCS flash中烧写配置文件,而不再需要仿真器。
FPGA中,这个SPI控制器挂在wishbone总线上,wishbone总线的另一端从PCI总线转化而来——这是一个PCI从设备。
我需要完成这个PCI设备的驱动,通过该驱动程序,可以软件烧写EPCS flash。机子上的操作系统是vxworks5.5。
如果只有这些我觉得我可能很快搞定这个驱动程序。但是除此之外,我手上还有一份可用的windows系统上的驱动程序,虽然我不懂windows驱动的结构,但是可以根据函数调用关系看看是怎么操作的,然后改成xworks上的驱动就好了,不然我还要去看SPI控制器的verilog程序,多麻烦。
仔细一看,windows驱动程序中有两个文件中都有epcs的操作,而且方式完全不一样,有一份是按照ALTERA官方提供的接口函数名写的,竟然是用C写的,似乎不是windows驱动,所以我就先阅读着一份。我将这个驱动程序修改成xworks下的驱动程序,调试发现只有一个函数执行成功。
我认为既然有函数执行成功,那么其他函数执行失败一定是我没有修改好,继续找找是否还有什么问题。找了好久还是觉得修改得没问题。如果我这时候去看SPI控制器的verilog程序就好了。
总之我没找到问题,就去看了另一份windows驱动程序,这里就称之为驱动2吧。此时才发现,windows驱动中用的是驱动2。好吧,那么驱动2一定是对的,因为windows上确实可以实现软件烧写epcs了。但是我觉得这个程序中的很多操作都是莫名奇妙的,完全看不懂,我看了一天放弃了。
从头来吧。开始看verilog程序,从半下午看到下班时间正好看完。
看明白SPI总线的verilog HDL程序之后,觉得驱动写起来很容易,就边写边测试,9点半写完。总共用了一天班的时间都不到。
但是之前看别人的驱动程序,修改并调试花了一个星期,还是没有搞定。
这也只是提醒自己:只有了解了地基的构造,才可以向上盖房子!!!
参考别人的程序并不一定是捷径
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 本文主要介绍嵌入式系统的一些基础知识,希望对各位有帮助。 嵌入式系统基础 1、嵌入式系统的定义 (1)定义:...