accessing I/O memory

filippobrogi wrote on Monday, April 18, 2016:

Hello everybody,
I just started today to play with FreeRTOS. I’m developing software on ZC702 platform.I’m wondering if is there available a set of functions to read/ write from memory I/O like ioread8, ioread16 defined for linux?
Regards

heinbali01 wrote on Monday, April 18, 2016:

Hi Filippo,

I just started today to play with FreeRTOS

That’s an excellent choice :slight_smile:

set of functions to read/ write from memory I/O like ioread8, ioread16

Unlike Linux, FreeRTOS will not provide these primitives.

The Xilinx (BSP) library offers many i/o access functions, grouped per peripheral.

E.g. here are some examples to access the EMAC :

netctrlreg = XEmacPs_ReadReg(xemacpsif->emacps.Config.BaseAddress,
                                            XEMACPS_NWCTRL_OFFSET);
netctrlreg = netctrlreg & (~XEMACPS_NWCTRL_TXEN_MASK);
XEmacPs_WriteReg(xemacpsif->emacps.Config.BaseAddress,
                                XEMACPS_NWCTRL_OFFSET, netctrlreg);

Finally these macro’s use Xil_In32() / Xil_Out32()

Regards.