FPGA computer boots from the SD card
FPGA computer boots now from the SD card
This is a followup of my original post.
The 32-bit FPGA computer now has a kind of a hard disk. ESP32 is used as a
hard disk controller (I have designed the board to work with the Arduino as well - you can see the empty
socket for the Arduino to the right of the ESP32), while the SD card is used as a kind of a hard disk.
The FPGA computer with the ESP32-Arduino board is on the images above and
below.
Initially, it was just the Arduino:
Since the FPGA computer is designed to boot from the serial port, I have
created a kind of a hard disk controller, which consists of an ESP32 and SD card reader. When started, ESP32
lists files in the root folder of the SD card, and if it finds the file "BOOT.BIN", it reads it and sends
the content to the FPGA computer over the serial port, using the Raspbootin protocol (as described in one of my previous
posts).
The video above shows the boot from the powerup. Next video shows boot from the reset.
The code is available at the github.
This is the schematics:
The main idea is that the controller behaves just like the PC from which the
FPGA computer initally gets its boot code. During the powerup, the FPGA computer will try to load the boot
code from the serial interface, using a modified Raspbootin protocol. On the other side of the serial cable,
there can be a PC with the corresponding Raspbootin client, or, just like in this case, the microcontroller,
which has the following functionality:
- wait for the Raspbootin start sequence,
- look for the BOOT.BIN file in the SD card, and
- send that file content over serial cable, using the Raspbootin protocol.
Comments
Comments powered by Disqus