实验背景
关于dual boot功能,其使用的场景是在线升级过程中,如果因为操作失误或者掉电等异常导致在线升级过程没有成功,导致设备重新上电无法启动。dual boot中有两个启动文件,分别为primary boot和golden boot两个文件,在线升级过程中会将最新的升级文件替换primary boot文件,如果因为异常情况导致升级失败,在重新上电或者重新载入配置文件时,会启动golden boot文件,避免了设备无法启动的问题。其中golden boot一般设置为功能稳定的程序。
实验内容
Lattice ECP5-25F系列FPGA dual boot功能测试,流程如下:
新建两个工程,两个工程的功能不同,例如如点亮不同的led灯,或者点亮同一个led灯,但是闪烁频率不同等。通过Deployment Tool生成dual boot的.mcs文件,固化到与FPGA连接的外部flash。重新上电,启动的应该是primary boot文件。手动破坏生成的.mcs文件中primary boot文件的内容,.mcs文件可以通过文本编辑器打开并修改,或者编写修改外部flash的程序,mcs文件修改后,重新固化到flash,重新上电,如果操作无误,启动的将是golden boot文件。
实验步骤
具体的步骤参考文档如下:
- 《FPGA-TN-02039-1-7-ECP5-and-ECP5-5G-sysCONFIG》
- 《FPGA-TN-02203-1-8-LatticeECP3-LatticeECP2-M-ECP5-and-ECP5-5G-Dual-Boot-and-Multiple-Boot-Feature 》
dual boot对