Ti60F100片上Flash为16Mb,容量相对较小,对于很多应用需要外扩flash,而且很多客户会考虑把FPGA程序存放在片上flash,而把soc的程序存放在外部flash。
今天简单来聊下该应用。
(1)硬件设计如下:
程序上把soc的flash的管脚指向外部flash。
(2)如果要把soc程序烧写到外部flash可以通过jtag_bridge_loader,但是要把bridge内的flash IO指向外部flash。关于bridge工程的调整可能以参考易灵思Jtag_bridge_loader生成。下面是关于jtag_bridge的管脚分配,对应上面的硬件原理图。
(3)把soc数据文件转换成hex。soc生成的hex文件是不能通过programmer直接烧写的,需要把soc生成的bin文件转换成programmer可以配置的hex文件。注意flash的地址我们指向的是0x0.
(4)烧写soc数据流到外部flash。选择SPI Active using JTAG Bridge(legacy)模式,选择我们上面生成的指向外部flash的birdge文件,并把flash的地址指向soc的BootLoader指向的地址,下图中我们使用了默认的0x380000地址。 自定义RISC V的bootloader-v2