Waveshare way of booting the board? - Discussion

You do understand that early bird electronics typically means that the hardware is close enough to the final product. That the hardware is ready (or at least very close to the final product), but not all the software required for access to all the functionality is in place yet.

Even only 20 years ago, a product would only ship out to any customer once everything advertised was fully working and given at least one coat of polish. There was no such thing as early bird or super early bird hardware. Basically the board you have now is a small test run of the hardware that is also sent out to developers who are getting everything to work and adding the first coat of polish before the final product ships. But booting from NVMe was not actually an advertised feature, nothing I read prior to buying the board mentioned booting from anything other than QSPI NOR/NAND Flash, SD card, eMMC or UART.

The way I see it you have 2 options:

  1. Wait for the software feature you want/need to be added (I’m sure NVMe is a major selling point), the current hardware should be able provide that boot function.
  2. Sign NDA’s and gain access to the required technical reference documentation to create your own bootloader.

One thing to keep in mind at the end of the day it is only a x1 lane PCIe Gen2 interface, (maximum theoretical throughput 477MiB/sec).

For comparison:

UART: 
   12800 bytes/sec at 115200 baud 8-N-1 (8 data bits, no parity bit, and one stop bit)
QSPI FLASH:
   12.5 MB/sec (100 Mbit/sec)
SD 3.0:
   12.5 MB/sec (Default or UHSI_SDR12)
   25 MB/sec (High Speed or UHSI_SDR25)
   50 MB/sec (UHSI_SDR50 or UHSI_DDR50)
   104 MB/sec (SDR104)
TFTP:
   117 MB/sec after packet overheads at 1Gbit/sec
eMMc 5.0:
   250 MB/sec Sequential Read, 90 MB/sec Sequential Write, 7000 Random Read (IO/s), 13000 Random Write (IO/s)
USB 3.0:
   400 MB/sec (you could claim 500 MB/sec after 10/8 encoding of the raw signalling at 5Gbit/sec but in the real world that is never going to happen)
NVMe:
   500 MB/sec with 1x lane PCIe Gen2