阅读:1896回复:1
请问版主关于9054DMA传输的地址问题
前两天发了相同的帖子,一直每人回,这次只好问版主了,请勿见怪。我就是想问一下9054在进行DMA传输时LOCAL ADDRESS怎么确定,是否可以通过函数PLXPCIBARMAP获得,还是通过本地端寄存器的配置及映射得到,谢谢!
|
|
沙发#
发布于:2007-12-28 17:38
我不懂驱动程序是怎么弄得,硬件实现过程应该是下面的过程。
首先在设计卡时,就应该已经定义了基地址寄存器,这些基地址寄存器中有一个是指向你的本地存储器的,而这个基地址寄存器由两部分组成,后面的n位是只读的(表示你的本地存储器的大小),前面的32-n(bit)是可读写的,因此系统在初始化的时候,首先通过一个函数向该寄存器写全‘1’,得到‘0’的个数就代表本地存储需的大小,然后系统会根据这个大小给该寄地址寄存器分配一个内存(或者I/o)偏移地址,用这个偏移地址加上本地寄存器偏移就是Local Address。 不知道这样对不对,呵呵 |
|