1,使用nios给出的驱动函数的顺序一般为1,清中断2,写控制寄存器,3,写参数寄存器4,中断注册,5,开始工作。因为开始工作控制位在控制寄存器中,所以会想到到最后一块写,省事,但是在dma试验中发现copy后的数据开头几个都是0,而且copy不完全。将写控制寄存器和开始工作分开则问题消失。
2,中断注册需要:1,中断控制器id,我发现不是0就是-1,0是有中断的外设的中断控制器id,-1是没有中断的外设的中断控制器id,2,中断号,3,中断处理函数,4,传递给中断函数的参量,可以为null,5,保留,通常为0x00;
3,在软核中添加dma的时候需要注意,dma有个特殊的readdata和writedata线,需要连到读写的存储设备上。
时间: 2024-10-03 07:05:32