Forum Discussion

Pastel's avatar
Pastel
Icon for New Contributor rankNew Contributor
4 years ago

Programming a MAX 10 from a MCU using JTAG

Hello!

I'm trying to find documentation about how to program a MAX10 using JTAG.

There is apparently a JRunner software, but after checking a bit more, it looks like

MAX10 cannot be programmed using JRunner.

There is another similar system called STAPL. I would like to use a STM32 chip

to do it. Are there resources available?

- Where can I download the STAPL (?) source code from?

- Is there an accurate description of how MAX 10's JTAG works?

- Do I have to start from a .pof file? Something else?

Any hint would be welcome.

Thanks,

5 Replies

  • Pastel's avatar
    Pastel
    Icon for New Contributor rankNew Contributor

    Hello!

    Thanks for your replies!

    Maybe I should have been a bit more accurate about what I would like to do.

    1. I'm using a development board which implements a MAX10M50, a quite big beast.

    2. I have a ST microcontroller board, from which I would like to program the MAX 10 board.

    In the first reply, there are many softwares, but no source code (all are apparently .exe files, to be run on Windows).

    In the second reply, there are pin guidelines, but as the boards are already here, I will not change anything to the

    hardware so in order to be more accurate, I would need:

    1. Some C code, showing how to write a .pof file through JTAG. In order to save time, please don't tell me that it's possible / better

    to use xxx or yyy feature of MAX10, I want to use the JTAG port, therefore I would like some reference source code to start.

    2. As for the file format, I suppose I need a pof file, because that's what I'm using in the quartus environment when I want

    the HDL configuration to be written to the FPGA flash. A pof file is what I need, right?

    3. If C source code doesn't exist, a protocol description would make it, how to write one byte / page to the FPGA

    flash. I have watched the write process on the scope, there is a myriad of small chunks, one every 3µs or so.

    So if I could know what these chunks are, without having to reverse engineer them, it would be great.

    NB: The terms I use might be inappropriate. I see the FPGA as a bunch of logic units that I can configure with a

    kind of compiled version of my HDL code. And as MAX10 allows to store this config in its flash, I consider this

    to be similar as the flash in a microcontroller, that can be programmed using a special bootloader mode.

    Thanks,

  • We do not receive any response from you to the previous reply 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.