计算机工程与应用 ›› 2022, Vol. 58 ›› Issue (4): 298-303.DOI: 10.3778/j.issn.1002-8331.2008-0384
郭俊,虞致国,洪广伟,顾晓峰
GUO Jun, YU Zhiguo, HONG Guangwei, GU Xiaofeng
摘要: 为简化嵌入式开发人员更新RISC-V处理器固件的操作流程,提出了一种易操作、高效且稳定的固件更新系统设计方法,包括BootROM引导流程设计和在应用中编程(in-application programming,IAP)设计。在BootROM引导流程设计中,通过启动参数再配置的方法,可使此引导流程兼容多种启动模式,如SRAM启动、主内存启动。在IAP设计中,处理器先通过通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接收从上位机发送过来的新固件,该固件采用Ymodem协议发送,再通过串行外设接口(serial peripheral interface,SPI)进行片外Flash的重新烧写,以完成对系统固件的更新,同时,为保证接收新固件的可靠性,加入了循环冗余校验(cyclic redundancy check,CRC)算法。在现场可编程门阵列(field programmable gate array,FPGA)上对该系统进行了多次测试,均完成了对系统固件的更新,验证了该设计的可行性与稳定性。