Menu

JTAG flashing problems

Home Forums OSSC OSSC – DIY Kit support JTAG flashing problems

This topic contains 9 replies, has 4 voices, and was last updated by  renegadeandy 7 months, 3 weeks ago.

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #18275

    renegadeandy
    Participant

    Hi all,

    I have bought a USB Blaster (this one to be precise https://www.amazon.co.uk/gp/product/B00DQ6Y196/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1)

    1/I turn on my OSSC, so it is on the screen which displays the test signal / version of the software.
    2/Plug in the JTAG connector, and open the programmer in Quartus Prime Free Edition 17.1
    3/I select the USB Blaster from the hardware screen, and click the start button.

    In the system console output I see:

    209060 Started Programmer operation at Sun Dec 31 17:16:57 2017
    209040 Can’t access JTAG chain
    209012 Operation Failed
    209061 Ended Programmer operation at Sun Dec 31 17:17:27 2017

    This happens repeatedly, it looks like a 30 seconds timeout is happening, not sure why.

    I have checked JTAG bins 2+4 and get 2.5v across them on the OSSC board when powered.

    What else could be causing this, I have looked at the quartus article on the Can’t access JTAG Chain error, but it has not helped me debug why this is occurring.

    Many thanks!

    #18281

    Morpheus_79
    Participant

    As far as i know (and experienced first hand):
    Some (or maybe most) USB-Blaster compatible programmers and USB-Blaster clones have problems working with the latest Quartus Prime versions… sometimes resulting in the programmer not working correctly with the accompanied driver or even in a bluescreens after installing the driver that came with Quartus Prime.

    I did manage to get the most stable results with the fairly old Quartus Prime version 13.1.0 build 162 and its driver:

    http://download.altera.com/akdlm/software/acdsinst/13.1/162/ib_installers/QuartusProgrammerSetup-13.1.0.162.exe

    So i would suggest to give this version a try.

    #18287

    renegadeandy
    Participant

    Hi,

    As far as I can see this version of Quartus Prime is just the Signal Tap Logic Analyzer, is that the equivalent of the Quartus Prime Lite Edition 17.1 I had downloaded?

    I am also running this under Ubuntu, so I could try an older version there I suppose.

    #18288

    renegadeandy
    Participant

    When it didn’t work for you – did you get the same error I did?

    #18289

    Morpheus_79
    Participant

    As far as I can see this version of Quartus Prime is just the Signal Tap Logic Analyzer, is that the equivalent of the Quartus Prime Lite Edition 17.1 I had downloaded?

    It is. The installer contains Quartus SignalTap (quartus_stpw.exe) and the Quartus Programmer software (quartus_pgmw.exe). You can find the USB-Blaster drivers under the qprogrammer\drivers subfolder of your installation folder.

    When it didn’t work for you – did you get the same error I did?

    It happened with my first OSSC 1.5 build – so it’s been a while and i don’t remember the exact error code. I only remember trying different (newer) versions, since some versions always gave me an “Can’t access JTAG chain” error message, some resulting in a bluscreen while trying to flash the firmware and others would not recognize my USB-Blaster clone (because the included driver could not initialize properly).

    I thought that it could be a problem with my system, so i tried flashing the firmware with an older PC. But since it only had Windows XP installed i had to find an even older version of the programmer software, which would run under XP. That’s why i ended up with v13.1… and it worked like a treat.
    Then i thought by myself: maybe the software is the problem and not my system. So i installed v13.1 on my new system too and it also worked. After that i tried to use the older driver with a new programmer software version… but this always resulted in an error message. So i stayed with v13.1 since it worked as it should.

    #18379

    renegadeandy
    Participant

    Hi,

    Ok thanks for your help – got the JTAG working.

    Now my question is…..if i make a change in say software/sys_controller/ossc/av_controller.c, what steps do I need to do to compile this change into the firmware which I will flash to my device?

    I have done:

    1/Make coding change
    2/Go into Quartus Prime and select Start Compilation
    3/Compilation completes, open programmer and flash

    Doing this — I do not see my coding change taking place. I feel like perhaps I need to compile the C software. I have seen there is a makefile in the software dir, however when I run make on this, I get the following error – suggesting that Quartus Prime does indeed handle the compilation of the c source….any thoughts?
    ———
    make
    Info: Building ../sys_controller_bsp/
    make –no-print-directory -C ../sys_controller_bsp/
    Makefile not up to date.
    ../../sys.sopcinfo has been modified since the BSP was generated.

    Generate the BSP to update the Makefile, and then build again.

    To generate from Eclipse:
    1. Right-click the BSP project.
    2. In the Nios II Menu, click Generate BSP.

    To generate from the command line:
    nios2-bsp-generate-files –settings=<settings file> –bsp-dir=<target bsp files directory>

    make[1]: *** [public.mk] Error 1
    make: *** [../sys_controller_bsp/-recurs-make-lib] Error 2
    —————

    #18462

    borti4938
    Participant

    Quartus Prime does not handle c compilation. You can use the Eclipse tools for building the firmware or any other c project management tool. marqs85 e.g. uses Codelite and provides workspaces for that.

    Interaction workflow between hardware and software is:
    – hardware provides NIOS2 softcore and BRAM for the program
    – program is initialized with content which has to be generated with nios2eds tools (default location is software/sys_controller/mem_init/sys_onchip_memory2_0.hex) <- this is needed to see your changes if you reinitialize the FPGA
    – in runtime you can download new NIOS2 programs (default location is software/sys_controller/sys_controller.elf) to the NIOS2 core with nios2-download -g –accept-bad-sysid sys_controller.elf

    Some links regarding this:
    https://github.com/marqs85/ossc/issues/2
    https://github.com/marqs85/ossc#building-software-image

    #19609

    renegadeandy
    Participant

    Thanks for your help borti, moving forward now.

    I am now almost getting the project compiled by using the codelite workspace. Near the end of the makefile, it tries to run:

    #ifneq ($(DISABLE_STACKREPORT),1)
    #	@bash -c "$(STACKREPORT) $@"
    #endif

    (Note i had to comment it out). If left uncommented, I get :

    "/usr/bin/bash: nios2-stackreport: command not found"

    The /intelFPGA_lite/17.1/nios2eds/bin/ directory with file nios2-stackreport is on my path, but maybe appears to be a perl script, perl is also on my path! Any ideas?

    #19624

    marqs
    Participant

    Is “…/nios2eds/bin” as part of $PATH in your bash environment?

    #19665

    renegadeandy
    Participant

    Yes…!

Viewing 10 posts - 1 through 10 (of 10 total)

You must be logged in to reply to this topic.