Tina Linux 引导顺序:brom -> spl -> opensbi -> uboot -> tina kernel
- brom: Bipolar Read-Only Memory 双极性只读存储器,双极性器件制造的只读存储器
- spl: Secondary Program Loader 二阶段程序加载器
由于 uboot 在 x86、arm 等平台引导 linux 不存在 sbi 这一层,被设计的与 linux kernel 耦合严重,故在 riscv 上顺序不合逻辑,先 opensbi 后 uboot。正常的 spl 是 uboot 的一部分,只是由于每个阶段能引导的负载容量有限才分出来;在这里由于被 opensbi 切开,是一个独立的软件,和 uboot 无关了。
由这个 issue 可以看出 spl 和其他东西(opensbi、uboot、kernel)需要分别烧写到 spi nand flash 的不同位置。spl main 函数 的结尾,控制权转交到 opensbi。