Using xilinx sdk I want to write code in 'C' that will transfer data from one zedboard to a second zedboard. I'm doing this via FMC connecter.
I have two separate block diagram in vivado and each is setup using a dual channel axi gpio. With gpio width of 32.
I setup my constraint file so that my input and outputs correspond correctly.
In vivado the address editor says I have 64k range.
Offset address 0x4120_0000 High address 0x4120_FFFF
I was hoping to "preload" the axi gpio data register from my "send" 'C' code and "unload" the axi gpio data register from my "receive" 'C' code.
In my "send" 'C' code I write to the axi gpio data register
XGpioPs_WriteReg(XPAR_GPIO_0_BASEADDR,0x8, 0x01234567);
XGpioPs_WriteReg(XPAR_GPIO_0_BASEADDR,0x18, 0x89ABCDEF);
In my "receive" 'C' code I read from the axi gipi data register
Data = XGpioPs_ReadReg(XPAR_GPIO_0_BASEADDR,0x0);
Xil_printf("Addres 0 has data value %x\r\n, Data);
Data = XGpioPs_ReadReg(XPAR_GPIO_0_BASEADDR,0x10);
Xil_printf("Addres 10 has data value %x\r\n, Data);
The result printed to the screen is
Addres 0 has data value 89ABCDEF
Addres 10 has data value 89ABCDEF
As you can see the second write statement is writing to both register addresses.
Why isn't each address retaining it's original assigned data?
Bottom line question is how or where can I preload data on my "send" zedboard preferably using the sdk so that it can me "unloaded" via FMC connecter with my "receive" zedboard preferably also using the sdk.
Thank you for help.