Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Altera_Forum
Honored Contributor I
4,278 Views

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
0 Kudos
7 Replies
Altera_Forum
Honored Contributor I
905 Views

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
Honored Contributor I
905 Views

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
Honored Contributor I
905 Views

I, perhaps naively, assumed you could usequartus_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
Honored Contributor I
905 Views

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
Honored Contributor I
905 Views

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
Honored Contributor I
905 Views

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
Honored Contributor I
905 Views

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.
Reply