Arria 10 Preloader SPL Uboot Error
Hi,
I am getting an error loading/debugging uboot through the Arm Development Studio debugger on my custom Arria 10 Han Pilot board that boots from QSPI Flash.
I am following the instructions here for building the preloader and uboot from the custom Quartus project handoff xml file:
https://www.rocketboards.org/foswiki/Documentation/BuildingBootloaderCycloneVAndArria10#Arria_10_SoC_45_Boot_from_QSPI
I created a debugger script per the instructions in that same document located here:
https://www.rocketboards.org/foswiki/Documentation/BuildingBootloaderCycloneVAndArria10#Arria_10_SoC_45_Debugging_U_45Boot
When I run the script in the debugger, everything seems to work up to the point where u-boot gets loaded. When that happens, I get the following error:
+loadfile u-boot-socfpga/u-boot
Target Message: Memory access caused precise abort.
Debug Precise Abort Registers : DFSR = 0x00000805, DFAR = 0x01001020
ERROR(CMD16-TAD59-NAL18):
# in C:\Users\engineering\HD-MRPS\Linux_Boot\11-18-2023\debug-u-boot-A10.ds:27 while executing: loadfile u-boot-socfpga/u-boot
! Failed to load "u-boot"
! Download of 356,184 bytes to address S:0x01000040 failed while writing block of 4,096 bytes to address S:0x01000040
! Bus error on memory operation.ERROR(CMD656): The script C:\Users\engineering\HD-MRPS\Linux_Boot\11-18-2023\debug-u-boot-A10.ds failed to complete due to an error during execution of the script
I checked that memory address in the debugger and verified that it is not writable (all red). This error seems to indicate that the preloader did not correcly initialize the memory for some reason. I also do not get any output form the serial terminal while the preloader executes which indicates that the IO is not configured correctly either.
I have attached the debugger script I am running and the corresponding error log.
I can replicate this error on my Han Pilot Arria 10 dev kit that is configured to load from an SD card. With this setup, I follow these instructions for building the preloader and uboot:
https://www.rocketboards.org/foswiki/Documentation/BuildingBootloaderCycloneVAndArria10#Arria_10_SoC_45_Boot_from_SD_Card
It seems like the qts-filter_Arria10.sh script does not import all of the necessary configuration differences of the custom board to the bootloader build environment. It also seems that the Han Pilot dev kit is different that the Intel Arria 10 dev kit and those differences don't get imported by the qts-filter_Arria10.sh either.
I researched the Forums for similar issues and I found this thread where the preloader was not configuring the memory and IO correctly for a custom board, but the solution was never posted to the board even though the problem was apparently solved. Here is that thread:
https://community.intel.com/t5/Intel-SoC-FPGA-Embedded/Preloader-uboot-SPL/td-p/1478716/page/2
Do any Intel employees involved with that thread happen to know what the solution to that problem was?
I would appreciate any help you can provide with this issue.
Thanks,
Richard