I have a MAX10 FPGA that I want to program using the encrypted bitstream feature. I have the following use case:
- Initial programming of the FPGA with key + firmware (key stays confidental)
- Ability to roll out updates in field with only the firmware
I am using the JAM STAPL Player v2.5 to program the MAX10 on the carrier board. Before the encrypted bitstream feature I would convert the pof to a jam file and just use `jam -aPROGRAM firmware.jam`. Now I have an EKP file and an encrypted POF.
Naively, I would have expected the following to work:
- Convert both EKP and the encrypted POF to separate JAM files.
- Flash the key `jam -aKEY_PROGRAM key.jam`
Programming Max 10 FPGA non-volatile security key(s)... Successfully programmed non-volatile security key(s) DONE Exit code = 0... Success
- Flash the encrypted POF converted to JAM: `jam -aPROGRAM firmware.jam`
configuring SRAM device(s)... full-chip erasing Max 10 FPGA device(s) ... programming Max 10 FPGA DSM block ... performing operation on MAX 10 FPGA CFM0 block at sector 4 ... performing operation on MAX 10 FPGA CFM0 block at sector 5 ... performing operation on MAX 10 FPGA UFM block at sector 1 ... performing operation on MAX 10 FPGA UFM block at sector 2 ... DONE Exit code = 0... Success
However, this does not work: the FPGA is not responding. I assume this is because when programming the firmware.jam, the player performs a full-chip erase, thus deleting the key. What does work is when I integrate the EKP into the POF and convert the resulting JAM. However, I want to keep the EKP confidential.
How can I program the firmware JAM without erasing the key?
There is instruction for programming ekp and pof separately using Quartus programmer, but there is no support for similar method for JAM player.
You can use JAM player, but this sw got limitation which you can't program the key and image separately. Only Quartus programmer can do this.
JAM player can program key+image together.
We do not receive any response from you to the previous question/reply/answer that I have provided. This thread will be transitioned to community support. If you have a new question, feel free to open a new thread to get the support from Intel experts. Otherwise, the community users will continue to help you on this thread. Thank you.