Hi,
I am trying to run a but project on Arria 10 but I received a different error in Commands and also in Terminal.
I built a Arria 10 Soc boot from QSPI based on https://rocketboards.org/ and based on this page I tried to debug with Arm DS-5 but during a my .ds file running I received :
"+restore u-boot-socfpga/spl/u-boot-spl-dtb.bin binary 0xFFE00000Restoring Binary file F:\repository\yazdandoust\sc50cont\u-boot.qspi\a10_soc_devkit_ghrd\software\bootloader\u-boot-socfpga\spl\u-boot-spl-dtb.bin into memory Restoring section S:0x00000000 to S:0x00012A00 into memory S:0xFFE00000 to S:0xFFE12A00+symbol-file u-boot-socfpga/spl/u-boot-spl+set $PC = $ENTRYPOINT+thbreak *0x0Hardware breakpoint 1 at S:0x00000000+continue+wait 20sExecution stopped in SVC mode at breakpoint 1: S:0x00000000S:0x00000000 LDR pc,[pc,#24] ; [0x20] = 0xB8Deleted temporary breakpoint: 1+restore u-boot-socfpga/spl/u-boot-spl-dtb.bin binary 0xFFE00000Restoring Binary file F:\repository\yazdandoust\sc50cont\u-boot.qspi\a10_soc_devkit_ghrd\software\bootloader\u-boot-socfpga\spl\u-boot-spl-dtb.bin into memory Restoring section S:0x00000000 to S:0x00012A00 into memory S:0xFFE00000 to S:0xFFE12A00+symbol-file u-boot-socfpga/spl/u-boot-spl+set $PC = $ENTRYPOINT+thbreak spl_boot_deviceHardware breakpoint 2 at S:0xFFE01060 on file spl_a10.c, line 77 on file spl_a10.c, line 78 on file spl_a10.c, line 78+continue+wait 60sExecution stopped in SVC mode at breakpoint 2: S:0xFFE01060In spl_a10.cS:0xFFE01060 77,1 {Deleted temporary breakpoint: 2+deleteAll user breakpoints deleted+loadfile u-boot-socfpga/u-bootTarget Message: Memory access caused precise abort.Debug Precise Abort Registers : DFSR = 0x00000808, DFAR = 0x01000040ERROR(CMD16-TAD59-NAL18): # in ...........u-boot.qspi\a10_soc_devkit_ghrd\software\preloader.ds:32 while executing: loadfile u-boot-socfpga/u-boot! Failed to load "u-boot"! Download of 311.088 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 ..........u-boot.qspi\a10_soc_devkit_ghrd\software\preloader.ds failed to complete due to an error during execution of the script "
and also in Terminal the other error is printed :
"
U-Boot SPL 2021.07-16360-gee63370553-dirty (Jan 21 2022 - 08:09:27 +0100)
U-Boot SPL 2021.07-16360-gee63370553-dirty (Jan 21 2022 - 08:09:27 +0100)Error: Could Not Calibrate SDRAMDDRCAL: FailedWDT: Started with servicing (10s timeout)"
I already read most of answers in forums but most of them is for the last version of Quartus which is generate a preloader with BSP editor but in my case I built all with script.
Is there any solution in this case?
Hi
My name is Stephen and I work at Arm.
The error message:"Download of 311.088 bytes to address S:0x01000040 failed while writing block of 4.096 bytes to address S:0x01000040"implies that there is no (writable) memory at S:0x01000040 on your system. Suggest you first check whether that memory space is writeable.
Unfortunately I do not have access to an Arria 10 board to be able to test this myself.
If you need more help, you could try the Intel forum instead at https://community.intel.com/t5/FPGA-SoC-And-CPLD-Boards-And/bd-p/fpga-soc-cpld-boards-kits
Hope this helps
Stephen
Hi Stephen,
Thanks for your help but I already read all related topics.
The problem is that when I use a Altera or Intel (Arria 10 ) as a target in configuration I do not have any access to memory and during the debug the error is printed but if I use FVP(Fast Model) and choose the Cortex9 as a target then I the boot file is loaded:
"+loadfile u-boot-socfpga/u-bootLoaded section .text: S:0x01000040 ~ S:0x010003E7 (size 0x3A8)Loaded section .efi_runtime: S:0x010003E8 ~ S:0x01000EE7 (size 0xB00)Loaded section .text_rest: S:0x01000F00 ~ S:0x0103028D (size 0x2F38E)Loaded section .rodata: S:0x01030290 ~ S:0x0103E013 (size 0xDD84)Loaded section .hash: S:0x0103E014 ~ S:0x0103E02B (size 0x18)Loaded section .data: S:0x0103E030 ~ S:0x01040FEF (size 0x2FC0)Loaded section .got.plt: S:0x01040FF0 ~ S:0x01040FFB (size 0xC)Loaded section .u_boot_list: S:0x01040FFC ~ S:0x0104246B (size 0x1470)Loaded section .efi_runtime_rel: S:0x0104246C ~ S:0x0104253B (size 0xD0)Loaded section .rel.dyn: S:0x0104253C ~ S:0x0104BE93 (size 0x9958)Loaded section .dynsym: S:0x0104BE94 ~ S:0x0104BEC3 (size 0x30)Loaded section .dynstr: S:0x0104BEC4 ~ S:0x0104BEC4 (size 0x1)Loaded section .dynamic: S:0x0104BEC8 ~ S:0x0104BF57 (size 0x90)Loaded section .gnu.hash: S:0x0104BF58 ~ S:0x0104BF6F (size 0x18)Loaded section .dynamic: S:0x0104BEC8 ~ S:0x0104BF57 (size 0x90)Entry point S:0x01000040+set $PC = 0x01000040+wait 10s"
also I have access to the memory and I can read the data:
I could not found any answer in this situation an I could not find what is the exactly different between these two type of target, on the other hand I am not sure which I can use this target ? Do you have more information these target or extra document.
Regards
Fatima
Hi FatimaSorry, I don't have any access to, or knowledge of, the Arria 10 board, so I'm not sure I can really to help much further. I suggest you try some basic memory tests first:Try connecting to the Arria 10, and opening a Memory view on address S:0x01000040, in the same way as you did for the Cortex-A9 FVP model. Is the Debugger able to read from that memory? Then try writing to it (modify the contents of an address in the Memory view). Is it writable? If it is not writable, then that explains why the Debugger is unable to download U-Boot to that address.rocketboards.org/.../WS_1_Intro_To_SoC_SW_Workshop.pdfslides 70 & 71 show that low memory can be remapped as RAM, ROM or SDRAM. Maybe it is mapped as ROM in your case? Sorry, I don't know what controls that remapping, for example, whether it is set by physical jumpers on the board, or under software control (e.g. is the MMU enabled?)Hope this helpsStephen
Thanks for quick answer.
I already did unfortunately when I debug as Arria 10 target (Altera or Intel) I did not have an access to write but via FVP it is possible.
Indeed the MMU is enable
when I try with Arria10 debug target ;
memory fill 0x01000040 0x01000100 1 0x0
*****************************************************************************Target Message: Memory access caused precise abort.Debug Precise Abort Registers : DFSR = 0x00000805, DFAR = 0x01000100ERROR(TAD100-NAL18): ! Memory fill failed at address S:0x01000040, filling 193 8 bit values! Bus error on memory operation.Target Message: Memory access caused precise abort.Debug Precise Abort Registers : DFSR = 0x00000005, DFAR = 0x01000040Target Message: Memory access caused precise abort.Debug Precise Abort Registers : DFSR = 0x00000005, DFAR = 0x01000040
*********************************************************************************
with FVP:
memory fill 0x01000040 0x01000100 1 0x0 =>
Thanks for confirming the area of memory at S:0x01000040 is not writable. That explains why the Debugger is unable to download U-Boot to that address.The differences you see between the behaviour of the Cortex-A9 FVP model and the Arria 10 hardware are to be expected. The FVP is a model of an example Cortex-A9-based system. It accurately models the behaviour of the Cortex-A9 processor core, but its memory system and peripherals are not the same as the ones on the Arria 10.I'm afraid that you will have to investigate why that area of memory is not writable on the Arria 10 yourself. If the MMU is enabled, try using the Debugger's MMU/MPU view to see which areas are accessible. You could also try temporarily turning the MMU off. If that doesn't work, then try looking elsewhere for information about how the RAM/ROM/SDRAM remapping is controlled.Hope this helpsStephen
Thanks a lot Stephen for helpful comments and I appreciate you taking the time to find out the solution.