09-27-2005 09:13 AM
09-28-2005 01:40 PM
However, you need to configure BAR1 as specified on the page you referenced before it is accessible.
geoff
09-29-2005 09:31 AM
Thank you for your reply !!
I am developing pci-7344`s driver under venturecom`s rtx,now I have found the baseadresses[0] and baseadresses[1] . baseaddresses[0] is the base-address of the miniMITE and I can get the vendor ID, device ID by directly reading from baseaddresses[0] +offset,but baseaddresses[1] does not like to be the base address of the 7344 registers,because I can not get the correct status information when I read from the csr(baseaddresses[1]+0x04)(all the value read back is 1).According to your advice I add the following codes to the program.
window_data_value = ( (0xffffff00 & (ULONG)BAR1.LowPart) | (0x00000080) );
*((PLONG)(vMemAddr[0]+0xc0)) = window_data_value;
vMemAddr[0] is the virtual address that is mapped from BAR0 into the user`s program ,which gives us access to physical memory locations on the system.
After adding these codes I still can read the correct information from BAR0,but I still can not read back the correct value from BAR1(all the value read back is 0).
It says in ddk that the csr(a read-only register) is located at cardlogicaddress+4(8byte offset),so I wonder what the cardlogicaddress is . What is relationship between baseaddresses[1] and cardlogicaddress?
Thank you!!!!!
09-29-2005 12:42 PM
1. BAR1.LowPart is the physical address of BAR1
2. vMemAddr[0] is of type ULONG or PCHAR such that the addition of the offset is correct
3. vMemAddr[0] the same as baseaddresses[0]
As I said, I'm not familiar with the Motion products or their DDK, but I would expect that cardlogicaddress should be the same as baseaddresses[1] if baseaddresses[1] is the mapped address of BAR1.
Hope this helps.
geoff
09-29-2005 09:34 PM