Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
8 years ago

Quartus II Programmer - Command Line

Hi,

Using the Quartus II Programmer command line (quartus_pgm app) to program a serial flash device using the USB ByteBlaster and want to first erase the full flash device, so planning to use -erase-all option, but want to ensure the usage is correct:

Altera Programmer V13.0sp1

C:\altera\13.0sp1\qprogrammer\bin>quartus_pgm -c usb-blaster -m JTAG -o p;C:\altera\13.0sp1\qprogrammer\common\devinfo\programmer\sfl_ep3c55.sof

Method 1: would use erase all in a command separate and prior to programming

C:\altera\13.0sp1\qprogrammer\bin>quartus_pgm -c usb-blaster -m JTAG -erase_all -o r;myFile.jic

Method 2: would use erase all command as part of programming command

C:\altera\13.0sp1\qprogrammer\bin>quartus_pgm -c usb-blaster -m JTAG -initcfg -erase_all -o bpv;myFile.jic

Thanks

Bill

7 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    The programming option you've specified in Method 1 is redundant. I'm not sure of the value of the -initcfg in method 2 either, unless you're not intending to perform any power cycling following reprogramming - which is fair enough. However, both commands look fine to me.

    Personally, I'd separate out erasing and reprogramming - as suggested by Method 1. However, the programmer does support doing multiple operations and generally gets them in the right order...

    Cheers,

    Alex
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Thanks Alex

    Not sure about what you say about the redundant programming option in Method 1. I tried the following without specifying the .jic file and it didn't work.

    C:\altera\13.0sp1\qprogrammer\bin>quartus_pgm -c usb-blaster -m JTAG -erase_all -o r

    Is there a better command format for just doing the erase_all (Method 1)?

    Thanks

    Bill
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I, perhaps naively, assumed you could use

    quartus_pgm -c usb-blaster -m JTAG -erase_all

    Yes, if you specify -o you will need to specify a file. If the above doesn't work (I've no suitable hardware in front of me to try it) then you probably already have the simplest option.

    Cheers,

    Alex
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    No luck with 'quartus_pgm -c usb-blaster -m JTAG -erase_all', gives an error

    When a JTAG Indirect Configuration (.jic) file is assigned to the flash device in the Quartus II programmer, only the region of the flash that contains data in the .jic file is erased.

    Presume when using say Method 1 or 2 and specifying the .jic file, the -erase_all option overrides and erases the full flash device?

    Thanks

    Bill
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I'd hope it overrides any specifics the programmer gleans from the .jic file. The help on is certainly suggests so:

    --- Quote Start ---

    Option: --erase_all

    Unified flash programmer option

    Erase the entire flash before/instead of programming it.

    --- Quote End ---

    The .jic file contains details of the FLASH device's sector size and count. The programmer isn't going to know that any other way, which implies it does not use a device bulk erase command, but erases it sector by sector. Shame if that's the case.

    Cheers,

    Alex
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    If the above doesn't work (I've no suitable hardware in front of me to try it) then you probably already have the simplest option.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Thanks for the feedback.

    We are using the programming in production as part of automated board test systems, and I am wondering the value of using blank check when programming. I have seen one or two blank check errors, and as I understand it, when a JTAG Indirect Configuration (.jic) file is assigned to the flash device in the Quartus II programmer, only the region of the flash that contains data in the .jic file is erased. So, is it possible there is data outside of this area that could be failing for the blank check? Because if I do the erase_all on this board, it will then not fail the blank check.