I thought creating a new fsbl.elf was a no-brainer, but when I do so, I get
a non-booting system. Help!
Why: I believe that many configuration registers are initialized by the fsbl,
and I want to change the frequency of the clock exported to the PL. So
I need to create an fsbl from my Vivado project.
What I did:
First, I tested the procedure. I grabbed a set of files from git, and created
BOOT.bin from them. It booted.
Now, I went to the SDK, and (after exporting my hardware with bits from
Vivado) created a new fsbl.elf. I replaced the fsbl.elf from above with my
newly created file, created a new BOOT.bin, and the system no longer
boots.
I don't know if fsbl prints anything; by the time I get putty going on the
usb port, the terminal is totally dead.
(How can I force a reboot without disconnecting the USB?)
My sanitized boot.bif file:
//arch = zynq; split = false; format = BIN
the_ROM_image:
{
[bootloader]D:\...\Zynq_fsbl.elf
D:\...\impl_2\top.bit
u-boot.elf
[load = 0x2ff0000]D:\...\snickerdoodle-linux-prebuilt-master\snickerdoodle\boot_images\devicetree.dtb
[load = 0x3000000]D:\...\snickerdoodle-linux-prebuilt-master\snickerdoodle\boot_images\uImage
}