How to access FPGA peripherals from ARM - How to access FPGA peripherals from ARM I would like to know how to access FPGA from ARM? IS there any example ? Thank you Replies: Re: How to access FPGA peripherals from ARM Thank you very much Fjumaah. With your help, I can run my first application, Replies: Re: How to access FPGA peripherals from ARM Hello, You can access the FPGA peripherals through the bridges based on your connection in Platform Designer. lets say you have a peripheral connected to h2f bridge. You can use ARM to access this IP through the h2f bridge offset + the IP offset in qsys. Lets say you have a qsys IP, defined in a c code: #define SYSID_BASE 0x10000 The h2f bridge can be accessed through this address: #define ALT_AXI_FPGASLVS_OFST 0xC0000000 Then, you need to open your mem device in your linux system: if( ( fd = open( "/dev/mem", ( O_RDWR | O_SYNC ) ) ) == -1 ) { printf( "ERROR: could not open \"/dev/mem\"...\n" ); return( 1 ); } Next, create the virtual memory: virtual_base = mmap( NULL, HW_REGS_SPAN, ( PROT_READ | PROT_WRITE ), MAP_SHARED, fd, ALT_AXI_FPGASLVS_OFST ); After that, you can cast the pointer of system_ID to your virtual memory: qsys_id_addr =virtual_base + ( ( unsigned long )( ALT_LWFPGASLVS_OFST + SYSID_BASE ) & ( unsigned long)( HW_REGS_MASK ) ); Finally, you should be able to use qsys_id_addr pointer to access your system ID IP in qsys: printf("system ID = %x",*(uint32_t *)qsys_id_addr); Hope this might help. Thank you - 2019-10-02

external_document