|
引用 3 楼 FrankLee1985 的回复:
多谢楼上指教,是否是应按SRAM的形式扩展FPGA呢?仿照芯片手册上给的扩展SRAM的示例.
如果我想片选nRCS2,驱动中应该如何写语句?是否是下面这样,把FPGA的端口连到nRCS2的地址上:
PHYSICAL_ADDRESS FPGA_1 = {0x10000000,0};
DWORD fpga1 = (DWORD)MmMapIoSpace(FPGA_1,65536,FALSE);
还需要哪些代码和寄存器设置才能实现从外部总线读数据呢?
基本就是这样。不过地址映射,不是在程序里做的,而是在编译开始时就设好,由编译器调用并分配好的。该映射表将会加载到MMU中去。
假设nRCS2物理地址0x10000000,映射到虚拟地址0x81000000,在程序里,只需要这样
DWORD data = *((volatile DWORD*)(0x81000000)); //从0x81000000读数据
*((volatile DWORD*)(0x81000000)) = data; //向0x81000000写数据
还有,nRCS2是一段地址空间的片选,而不是一个地址,所以只要是这个地址段的地址,都可以这样操作。 |
|