Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
12603 Discussions

Quartus Prime Programmer - Where is the EPCS Flash Tool?

NRugg
New Contributor I
997 Views

So recently we have upgraded from Quartus 16.1 to Quartus 19.4.

 

In 16.1 we have access to the NIOS II Flash Programmer (NIOS II > Flash Programmer)

 

In 19.4 when we press this same button a message appears stating the following: "The NIOS II Flash Programmer has been merged with Quartus Prime Programmer. Please refer to the Quartus Prime Pro Edition Handbook for more details on flash programming"

 

I've also seen notes in Embedded Design Handbook stating: "The nios2-flash-programmer has been replaced by the Intel Quartus Prime Programmer flow for EPCS".

 

Can anyone tell me where in the Quartus Prime Programmer one can access tools for flashing EPCS devices? I've looked through the whole tool and found nothing.

 

To add to that, I haven't been able to find any documentation as to how one would use this new paradigm of flashing EPCS with the Quartus Prime Programmer. Several places it says to use this new path, but no instructions on how to access it or use it.

 

If anyone could point me in the right direction that would be super helpful!

0 Kudos
1 Solution
NRugg
New Contributor I
947 Views

I've found a way to flash NOIS to our embedded target. Here's how I did it for anyone else running into this same issue.

 

The Short Version: Build project, convert resulting .elf to .hex. Then convert this .hex to .jic. Then use Quartus Programmer to flash .jic onto the board.

 

The Long Version: 

  1. Build your project (this creates a .elf as output)
  2. Right click project in eclipse > Make Targets > Build > mem_init_generate
    1. mem_init_generate creates several .hex files. Each for a different target memory device. Select the one which matches your target memory device (e.g. mine was generic_quad_spi_controller2_0.hex)
  3. Open Quartus Convert Programming File Tool
  4. Set the following options:
    1. Programming File Type: .jic
    2. Configuration Device: <Select_Your_Target_Memory_Device)
    3. Mode: <Select_Your_Target_Mode>
    4. Click Flash Loader >> Add Device: <Select_Your_Target_Device)
    5. Click Add Hex Data: Add hex file created in step 2
  5. Click Generate
  6. Close Convert Programming File Tool
  7. Open Quartus Prime Programmer
  8. Add File > Select .jic created in step 5
  9. Check 'Program / Configure' & 'Verify'
  10. Click 'Start', NIOS code will be flashed to the target

 

Enjoy!

View solution in original post

0 Kudos
2 Replies
NRugg
New Contributor I
948 Views

I've found a way to flash NOIS to our embedded target. Here's how I did it for anyone else running into this same issue.

 

The Short Version: Build project, convert resulting .elf to .hex. Then convert this .hex to .jic. Then use Quartus Programmer to flash .jic onto the board.

 

The Long Version: 

  1. Build your project (this creates a .elf as output)
  2. Right click project in eclipse > Make Targets > Build > mem_init_generate
    1. mem_init_generate creates several .hex files. Each for a different target memory device. Select the one which matches your target memory device (e.g. mine was generic_quad_spi_controller2_0.hex)
  3. Open Quartus Convert Programming File Tool
  4. Set the following options:
    1. Programming File Type: .jic
    2. Configuration Device: <Select_Your_Target_Memory_Device)
    3. Mode: <Select_Your_Target_Mode>
    4. Click Flash Loader >> Add Device: <Select_Your_Target_Device)
    5. Click Add Hex Data: Add hex file created in step 2
  5. Click Generate
  6. Close Convert Programming File Tool
  7. Open Quartus Prime Programmer
  8. Add File > Select .jic created in step 5
  9. Check 'Program / Configure' & 'Verify'
  10. Click 'Start', NIOS code will be flashed to the target

 

Enjoy!

0 Kudos
EricMunYew_C_Intel
Moderator
900 Views

Your method for converting programming file is right.


0 Kudos
Reply