Forum Discussion

fpga-user's avatar
fpga-user
Icon for New Contributor rankNew Contributor
7 days ago

Intermittent DE10-Standard error starting GDB server with quartus_hps

Hello,

We have 15 DE10-Standard boards being used with Quartus 18.1 and the associated version of Altera Monitor Program on Ubuntu 24.04 (amd64).

Generally the boards work without issue, however in the Monitor Program we occasionally see 'Download System - Partial Success: The system has successfully downloaded onto the board, but HPS components could not be configured.' Power cycling the board doesn't seem to resolve the error, nor does swapping the board to a different desktop. After a number of tries the error will go away. We haven't been able to isolate an exact pattern but issue doesn't appear random either, it will keep showing up for certain boards, and then go away, then show up on other boards.

Another symptom we see is that when a board downloads the systems successfully, during the final step of the process the JTAG TX LED on the board appears to turn solid green. On the boards that hang and fail, the same LED flashes rapidly while the process hangs.

The monitor program logs show the following commands are run before the error appears:

$ /home/$USER/DE10/monitorprogramtutorial/
$ make clean
# The board name in quotes below is variable and appears to be unique to each board or connection
$ /opt/intelFPGA_lite/18.1/quartus/bin64/quartus_pgm -c "DE-SoC [1-10]" --auto
$ quartus_pgm -c "DE-SoC [1-10]" -m jtag -o "P;/opt/intelFPGA_lite/18.1/University_Program/Computer_Systems/DE10-Standard/DE10-Standard_Computer/verilog/DE10_Standard_Computer.sof@2"
$ quartus_hps --cable="DE-SoC [1-10]" -o GDBSERVER --gdbport0=3212 --preloader=/opt/intelFPGA_lite/18.1/University_Program/Monitor_Program/arm_tools/u-boot-spl.de10-standard.srec --preloaderaddr=0xffff14f0

Running these commands manually results in the final command either:

1. Starting a GDB server very quickly:

>>Resetting HPS.
>>Downloading preloader.......
>>Program loaded. PC set to program entry (0xFFFF0000)
>>Setting vector base address register to: 0xffff0000
>>Running preloader..
>>Preloader successfully run.
Starting GDB Server.
Listening on port 3212 for connection from GDB

2. Hanging for a long time when 'Downloading preloader.......' and then failing at the 'Running preloader...................' stage and hanging indefinitely. Ending the process with Ctrl+C shows:

Error: Encounter JTAG AJI error while accessing HPS
Error: send_access_data() error while accessing DP Register
Error: Fail to select Access Port
Error: Fail to access Bank 0x0 of Port 1
Error: Fail to READ ACCESS to the Physical Reg
Error: AJI failed to send data
Error: Encounter JTAG AJI error while accessing HPS
Error: send_access_data() error while accessing DP Register
Error: Fail to select Access Port
Error: Fail to access Bank 0x0 of Port 1
Error: Fail to READ ACCESS to the Physical Reg
Error: Fail to enable DEBUG feature
Error: AJI failed to send data
Error: Encounter JTAG AJI error while accessing HPS
Error: send_access_data() error while accessing DP Register
Error: Fail to select Access Port
Error: Fail to access Bank 0x0 of Port 1
Error: Fail to READ ACCESS to the Physical Reg
Error: Failed to load program.
Error: AJI failed to send data
Error: Encounter JTAG AJI error while accessing HPS
Error: send_access_data() error while accessing DP Register
Error: Encounter JTAG AJI error while reading Control/Status Register
Error: AJI failed to send data
Error: Encounter JTAG AJI error while accessing HPS
Error: send_access_data() error while accessing DP Register
Error: Fail to select Access Port
Error: Fail to access Bank 0x0 of Port 0
Error: Fail to READ ACCESS to the Physical Reg
Error: Fail to write to MPU Module Reset Register
Error: Engine failed to set down the hardware
Error: Quartus Prime Programmer was unsuccessful. 0 errors, 0 warnings
    Error: Peak virtual memory: 187 megabytes
    Error: Processing ended: Tue Aug 11 11:44:38 2026
    Error: Elapsed time: 00:05:05
    Error: Total CPU time (on all processors): 00:00:01

Any thoughts or suggestions are greatly appreciated.

2 Replies

  • tehjingy_Altera's avatar
    tehjingy_Altera
    Icon for Regular Contributor rankRegular Contributor

    Hi 

     

    What is the Jtag clock frequency that you are using? 
    Could you try reducing the JtagClock frequency ? Try 16Mhz or 6Mhz.

    You could use the command below to change the frequency:
    jtagconfig --setparam <cable_index> JtagClock <frequency>

     

     

    • fpga-user's avatar
      fpga-user
      Icon for New Contributor rankNew Contributor

      Hello,

      Thanks for the reply. It looks like the JtagClockfrequency is set to 24 Mhz by default.

      However, when running quartus_hps one of the output lines is "Successfully change hardware frequency to 16Mhz":

      quartus_hps --cable="$FPGADEV" -o GDBSERVER --gdbport0=3212 --preloader=/opt/intelFPGA_lite/18.1/University_Program/Monitor_Program/arm_tools/u-boot-spl.de10-standard.srec --preloaderaddr=0xffff14f0
      
      Info: *******************************************************************
      Info: Running Quartus Prime Programmer
          Info: Version 18.1.0 Build 625 09/12/2018 SJ Lite Edition
          Info: Copyright (C) 2018  Intel Corporation. All rights reserved.
          Info: Your use of Intel Corporation's design tools, logic functions
          Info: and other software and tools, and its AMPP partner logic
          Info: functions, and any output files from any of the foregoing
          Info: (including device programming or simulation files), and any
          Info: associated documentation or information are expressly subject
          Info: to the terms and conditions of the Intel Program License
          Info: Subscription Agreement, the Intel Quartus Prime License Agreement,
          Info: the Intel FPGA IP License Agreement, or other applicable license
          Info: agreement, including, without limitation, that your use is for
          Info: the sole purpose of programming logic devices manufactured by
          Info: Intel and sold by Intel or its authorized distributors.  Please
          Info: refer to the applicable agreement for further details.
          Info: Processing started: Mon Aug 17 11:30:35 2026
      Info: Command: quartus_hps --cable="DE-SoC [1-4]" -o GDBSERVER --gdbport0=3212 --preloader=/opt/intelFPGA_lite/18.1/University_Program/Monitor_Program/arm_tools/u-boot-spl.de10-standard.srec --preloaderaddr=0xffff14f0
      Current hardware is: DE-SoC [1-4]
         Successfully change hardware frequency to 16Mhz
      Found HPS at device 1
         Double check JTAG chain
      HPS Device IDCODE: 0x4BA00477
      AHB Port is located at port 0
      APB Port is located at port 1
         Double check device identification ...
      >>CPU0 halted at 0x2fa4.
      >>Resetting HPS.
      >>Downloading preloader.......
      >>Program loaded. PC set to program entry (0xFFFF0000)
      >>Setting vector base address register to: 0xffff0000
      >>Running preloader..

      After the above command is run 'jtagconfig --getparam "DE-SoC [1-4]" JtagClock' then shows the JtagClock is set to 16Mhz until the board is power cycled.

      I tested our boards again today, and 2 showed the issue again. I tried power cycling these boards, manually setting the JtagClock with 'jtagconfig --setparam <cable_index> JtagClock <frequency>' to 16Mhz and 6Mhz before running quartus_hps, however the same issue kept persisting. No matter how many times I powered the 2 boards off and on they kept hanging at 'Downloading preloader...' and 'Running preloader...'

      I then noticed after powering off the boards I could feel they were quite hot in the general area of the EPM570GF chip. Instead of power cycling the board quickly and trying the test again, I waited 1-2 minutes for the board to cool down. I then tested again and the quartus_hps command ran without issue and the GDB server started successfully.

      I will test all the boards over the next few days and see if it's only these few boards which have this problem, or if it shows up intermittently across all devices. Any other suggestions are greatly appreciated. Thanks again.