由于英特尔® SoC FPGA嵌入式开发套件 (SoC EDS) 中存在问题,当 CONFIG_SPL_FPGA_LOAD 宏在软件/spl_bsp/uboot-socfpga/include/configs/socfpga_common.h 中定义时,Cyclone® V 和 Arria® V 的预加载器无法编译,且启用了 SDRAM ECC。
为了避免此错误,应使用下面的#if/#endif宏来禁用“memset”功能。
软件/spl_bsp/uboot-socfpga/arch/arm/cpu/armv7/socfpga/spl.c (245)
/* 在 SDRAM * 中将内存填充为数据/
#if (CONFIG_HPS_SDR_CTRLCFG_CTRLCFG_ECCEN =1)
文件化 = file_fat_read (CONFIG_SPL_FPGA_FAT_NAME, NULL, 0);
如果 (文件化 != -1) {
memset(未签名的字符*)(temp_sdram文件化)
> (CONFIG_SPL_SDRAM_ECC_PADDING - 1))
0、CONFIG_SPL_SDRAM_ECC_PADDING);
}
#endif