Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
19667 Discussions

MAX 10 JAM player programming failure




I had raised this issue before. The question was unfortunately closed off without a solution.


We are using JAM player from an embedded MCU.


To load program from quartus, we use the .pof file with the programmer and USB blaster II


The program is ported to the embedded target and we have four pins connected to the MAX10 to program the FPGA.


I tried two options:


1. Disabled the ISP and generated the JAM file and converted it to a hex file and used it to program the FPGA.

I get the exit code 10 as mentioned before. The image in fpga is unaffected.


2. Enabled the ISP and used the generated the JAM file to program the FPGA. I got exit code 0!! from both Program and Verify action.

After power cycling though, I saw the FPGA logic is absent and it is at the reset state.


So did the above option just erase the flash? In that case, why would I get successful programming confirmation from JAM player?

Or do I need to try something else to transfer the logic to SRAM if I use the ISP option?

0 Kudos
2 Replies

Your setup is very similar to ours only we use a 10M04SCU169A7G.


Two differences I noticed:


1. In Programmer when we convert pof to jam, we don't check any Program/Configure or Verify checkboxes. We do check the Enable real-time ISP checkbox.


2. What is jbc.exe? I cannot find it in my installation of Quartus. We use quartus_jbcc -n xxx.jam xxx.jbc to convert jam to jbc.


Then we convert the jbc to a byte array and embed it into our MCU firmware. When calling jbi_execute in the MCU we use action PROGRAM together with optional procedure DO_VERIFY=1.


Not sure if it helps you but this works for us.


Hi dabo,

Thanks a lot for the suggestions.


I created a jam file with Program/Configure or Verify checkboxes unchecked with and without the real-time ISP enabled.

I also used the quartus_jbcc.exe to generate the jbc file.

We call the jbi_execute twice. Once with action "PROGRAM" and secondly with "VERIFY". Ill check how to enable the optional procedure.

As for the results, it is unfortunately still the same. When I disable ISP, I see that the generated filesizes are higher but I get the exit_code 10 "exit_string = "Device programming failure";

If I enable ISP, the device is erased but not programmed.