引用: zbb9612 发表于 2018-6-21 13:58
从电脑向DSP通过PCIe写数据,如你所述可以通过windriver写相应的驱动,如果是PC向DSP写数,是不可以用DSP的EDMA,不过我觉得可以反过来,DSP从PC进行读数,这样就可以用DSP的EDMA;PCIe的输入输出地址映射是肯定要配置的,你可以参考一下pdk下的linux pcie demo driver,如:
C:timcsdk_2_01_02_06toolsboot_loaderexa ...
Andy Yin1 ,你好。
我用windriver写好驱动后,调试时显示板卡的资源如下:
Vendor ID: 0x104C, Device ID: 0xB005
Location: Bus 0x1, Slot 0x0, Function 0x0
Memory range [BAR 0]: base 0xFE400000, size 0x100000
Memory range [BAR 1]: base 0xD1400000, size 0x80000
Memory range [BAR 2]: base 0xD1000000, size 0x400000
Memory range [BAR 3]: base 0xD0000000, size 0x1000000
Memory range [BAR 4]: base 0xD1490000, size 0x1000
Memory range [BAR 5]: base 0xD1480000, size 0x10000
Interrupt: IRQ 11
Interrupt Options (supported interrupts):
Message-Signaled Interrupt (MSI)
Level-Sensitive Interrupt
对上面的显示有几点疑问:
1. BAR0并不是如PCIe user guide中说明的大小为4KB,这是为什么?
2. BAR0~5的值我是不是不能修改,只能通过Inbound transtrate寄存器进行重新映射?如果可以怎么修改呢?
3. PC和DSP传输数据时,使用DSP的EDMA3传输,RC和EP需要设置吗?分别是谁呢?是PC作为EP吗?
谢谢!期待回复!
引用: zbb9612 发表于 2018-6-21 13:58
从电脑向DSP通过PCIe写数据,如你所述可以通过windriver写相应的驱动,如果是PC向DSP写数,是不可以用DSP的EDMA,不过我觉得可以反过来,DSP从PC进行读数,这样就可以用DSP的EDMA;PCIe的输入输出地址映射是肯定要配置的,你可以参考一下pdk下的linux pcie demo driver,如:
C:timcsdk_2_01_02_06toolsboot_loaderexa ...
Andy Yin1 ,你好。
我用windriver写好驱动后,调试时显示板卡的资源如下:
Vendor ID: 0x104C, Device ID: 0xB005
Location: Bus 0x1, Slot 0x0, Function 0x0
Memory range [BAR 0]: base 0xFE400000, size 0x100000
Memory range [BAR 1]: base 0xD1400000, size 0x80000
Memory range [BAR 2]: base 0xD1000000, size 0x400000
Memory range [BAR 3]: base 0xD0000000, size 0x1000000
Memory range [BAR 4]: base 0xD1490000, size 0x1000
Memory range [BAR 5]: base 0xD1480000, size 0x10000
Interrupt: IRQ 11
Interrupt Options (supported interrupts):
Message-Signaled Interrupt (MSI)
Level-Sensitive Interrupt
对上面的显示有几点疑问:
1. BAR0并不是如PCIe user guide中说明的大小为4KB,这是为什么?
2. BAR0~5的值我是不是不能修改,只能通过Inbound transtrate寄存器进行重新映射?如果可以怎么修改呢?
3. PC和DSP传输数据时,使用DSP的EDMA3传输,RC和EP需要设置吗?分别是谁呢?是PC作为EP吗?
谢谢!期待回复!
举报