Hi,
@Antti: thank you. I got it, that I only have to specify the filenames within the BIF.
@John: So I abandoned the idea of writing a FSBL... I have no idea what is going on. However,... I cannot print anything via UART, since UART is connected by FPGA and FPGA is not programmed when FSBL is running, so I assume I will never see any output

I know that FSBL should load bitstream in the end... but this is not happening and there is no point in debugging and I will just use the factory boot loader... >.< for now.
So at the moment I try to stick to something simpler.... I just wanted to switch a GPIO Pin... and drive an LED with it. I loaded a GPIO example and am able to start the App via JTAG.
FPGA is programmed with the Reference design. The pins of the DIP40 package are connected to the AXI_GPIO Channel 1, if I am not mistaken. 32 bits means 32 I/O ports.
So next problems of course arose:
In my app, I call
Status = XGpio_Initialize(&Gpio, GPIO_EXAMPLE_DEVICE_ID); which returns XT_SUCCESS (checked via print).
GPIO_EXAMPLE_DEVICE_ID... is XPAR_GPIO_0_DEVICE_ID, which is XPAR_AXI_GPIO_0_DEVICE_ID, which is 0... wonderful.
But correct? I have no idea...
From the IP Block design I read (maybe I am wrong, maybe some of the designers knowing that board and the ref implementation can have a look?) that pin 1 of the DIP40 (P0) is connected to gpio_dip_32bit[0] ? Which would mean that axi_gpio[0] is also this pin?
Then I call
XGpio_SetDataDirection(&Gpio, LED_CHANNEL, ~LED);
with LED_CHANNEL = 1, and LED = 0x01 (bit zero set).
which freezes everything and the chip is not responding to anything till I reset it. How the hell (excuse me) can I tell how I can drive one of the gpio pins....
How can I control the I/O Pins from within a simple app?
[Update: I just had the idea to set the i/o pin to PULLUP in the constraints and with this trick I saw my LED lightening... so I know now, that the pin is P0 and that it is gpio_dip32[0] but still no idea how to manage it in app software]
Kind regards