nios驱动

来源:互联网 发布:仿算命一条街 php源码 编辑:程序博客网 时间:2024/04/30 11:18

       对于有的器件控制器,所谓的驱动程序就是使用altera自己的api函数,直接驱动芯片接口就可以,这类似于驱动程序。如flash接口驱动程序。我们可以参考nios外设的手册。

       另外就是sopc builder中没有集成的非标准的外设,这时候我们基本上会使用类似于io管腿去生成一些控制信号来完成对外设芯片的控制,这时我们可以参考手册一些头文件去生成结构体(sopc.h)和(xx外设.h),其中sopc.h主要是对pio的定义,如基地址啊,管腿信号方向等等,(xx外设.h)则是对驱动程序的函数接口的定义,然后自己编写一些接口函数生成驱动。

        还有一些方式生成驱动:1)我们可以直接用硬件描述语言直接编程,但是这样工程量比较大了,我们需要的在N多句的程序代码中去描述一个动作,这样比较繁琐;

                                                2)在nios主程序main.c中include一些头文件,直接对外设进行简单的操作,如简单的sdram读写操作,我们可以#include "system.h",找到基地址,然后                                                                                             unsigned short * ram = (unsigned short *)(SDRAM_BASE+0x10000); //SDRAM地址

之后向这个地址送数或者从这个地址读数即可。这个操作也仅仅是局限于几个简单的动作,如果动作繁琐,需要初始化,并伴随字节读写,或者突发读写等等操作的话,也是可以在main函数中一句一句的写出来,但是还是推荐调用驱动函数接口的方式来完成应用层的操作。。

这是本人的一些理解,如果有什么不妥,可以批评指出

原创粉丝点击