[altcycv_devkit] Access to FPGA Fabric via HPS2FPGA Bridge

Christian Spindeldreier spindeldreier at ims.uni-hannover.de
Fri Mar 29 11:57:12 UTC 2019


currently we experimenting with the RTEMS-5 on a Cylcone V SoC-FPGA 
using the altcycv_devkit BSP. Now we are trying to access a simple 
hardware module connected to the HPS2FPGA Bridge via an AXI 
interconnect. Our approach of simply write data to the corresponding 
address or using the 'alt_write_word()' function which basically does 
the same, results in a system crash, so i guess we are missing something.

*((volatile uint32_t *) 0xC0000000) = (uint32_t) 1UL;
alt_write_word(0xC0000000, 0x01);

I have noticed, that the FPGA bridge memory regions are made accessible 
using 'alt_addr_space_remap()' in 'bsp_start_hook_1()' which is called 
by start.S, but i am missing the activation of the fpga bridges using 
'alt_bridge_init()' which is part of the 'alt_bridge_manager' located in 
the '/ip/altera/hps/altera_hps/hwlib/include/soc_cv_av/' directory of a 
current  SoC-EDS installation. The bridges are be enabled by the u-boot 
command 'bridge enable' prior to rtems booting anyway, so there must be 
another issue.

Accessing the same hardware module using a simple linux platform device 
driver with linux 4.14 works fine, so the issue has to be related to 
RTEMS. Next to this i have another minor issue, when trying to pause 
RTEMS using scanf() to have time to connect the debugger, always reads 
the string "A0" without waiting for any input, so is there anything 
special to configure for scanf() when printf() is working?

Best regards,


Dipl.-Ing. Christian Spindeldreier
Leibniz University Hannover (LUH)
Institute of Microelectronic Systems
Architectures and Systems Group
Appelstr. 4, 30167 Hannover, Germany
voice : +49-511-762-5039
fax   : +49-511-762-19601
mail  : spindeldreier at ims.uni-hannover.de
web   : http://www.ims.uni-hannover.de/spindeldreier

More information about the users mailing list