@@ -82,10 +82,86 @@ file load:
8282
8383 with ``boardname `` = ``cyc1000 ``, ``c10lp-refkit ``.
8484
85- MAX10:
85+ MAX10: FPGA Programming Guide
86+ -----------------------------
87+
88+ Supported Boards:
89+
90+ * step-max10_v1
91+ * analogMax
92+
93+ Supported File Types:
94+
95+ * ``svf ``
96+ * ``svf ``
97+ * ``bin `` (arbitrary binary files)
98+
99+ Using ``svf ``
100+ ^^^^^^^^^^^^^
101+
102+ .. note ::
103+
104+ This method is required to load a bitstream into *SRAM *.
105+
106+ .. code-block :: bash
107+
108+ openFPGALoader [-b boardname] -c cablename the_svf_file.svf
109+
110+ Parameters:
111+
112+ * ``boardname ``: One of the boards supported by ``openFPGALoader `` (optional).
113+ * ``cablename ``: One of the supported cables (see ``--list-cables ``).
114+
115+ Using ``pof ``
116+ ^^^^^^^^^^^^^
117+
118+ When writing the bitstream to internal flash, using a ``pof `` file is the fastest approach.
119+
120+ .. code-block :: bash
121+
122+ openFPGALoader [-b boardname] [--flash-sector] -c cablename the_pof_file.pof
123+
124+ Parameters:
125+
126+ * ``boardname ``: One of the boards supported by ``openFPGALoader `` (optional).
127+ * ``cablename ``: One of the supported cables (see ``--list-cables ``).
128+ * ``--flash-sector ``: Specifies which internal flash sectors to erase/update instead of modifying the entire flash. One
129+ or more section may be provided, with ``, `` as separator. When this option isn't provided a full internal flash erase/
130+ update is performed
131+
132+ Accepted Flash Sectors:
133+
134+ * ``UFM0 ``, ``UFM1 ``: User Flash Memory sections.
135+ * ``CFM0 ``, ``CFM1 ``, ``CFM2 ``: Configuration Flash Memory sectors.
136+
137+ Example:
86138
87139.. code-block :: bash
88- openFPGALoader -b boardname project_name_auto.pof
140+
141+ openFPGALoader -c usb-blaster --flash-sector UFM1,CFM0,CFM2 the_pof_file.pof
142+
143+ This command updates ``UFM1 ``, ``CFM0 ``, and ``CFM2 ``, while leaving other sectors unchanged.
144+
145+ Using an arbitrary binary file
146+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
147+
148+ This command updates only *User Flash Memory * sectors without modifying ``CFMx ``. Unlike Altera Quartus, it supports
149+ any binary format without limitations (not limited to a ``.bin ``.
150+
151+ .. note :: This approach is useful to updates, for example, a softcore CPU firmware.
152+
153+ .. code-block :: bash
154+
155+ openFPGALoader [-b boardname] -c cablename the_bin_file.bin
156+
157+ * ``boardname ``: One of the boards supported by ``openFPGALoader `` (optional).
158+ * ``cablename ``: One of the supported cables (see ``--list-cables ``).
159+
160+ Behavior:
161+
162+ ``UFM0 `` and ``UFM1 `` will be erased before writing the binary file.
163+
164+ .. note :: Depending on the internal flash configuration, ``CFM1`` and ``CFM2`` may also store arbitrary data. However, currently, ``openFPGALoader`` only supports writing to ``UFMx``.
89165
90166Intel/Altera (Old Boards)
91167=========================
0 commit comments