参考别人的程序并不一定是捷径

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点半写完。总共用了一天班的时间都不到。
但是之前看别人的驱动程序,修改并调试花了一个星期,还是没有搞定。
这也只是提醒自己:只有了解了地基的构造,才可以向上盖房子!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 什么是嵌入式 IEEE(Institute of Electrical and Electronics Engin...
    Leon_Geo阅读 3,776评论 1 20
  • 1、嵌入式系统的定义 (1)定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本...
    荣卓然阅读 1,859评论 0 5
  • ​​​本文主要介绍嵌入式系统的一些基础知识,希望对各位有帮助。 嵌入式系统基础 1、嵌入式系统的定义 (1)定义:...
    OpenJetson阅读 3,353评论 0 13
  • 我们是因为什么喜欢上一个人呢?或许年轻的我们并不需要什么理由,只是不知不觉就喜欢了,然后爱了,无须经历什么生死大悲...
    唉呀啊阅读 305评论 0 3
  • 《一》 想做一只飞翔的鸟 漫游在广阔的天空 偶尔可以站在树枝上笑 也可以和一些人类小孩蹦蹦跳跳 能去想去的地方 看...
    未侃阅读 244评论 0 2