Forum Discussion
Where to place custom .xml flash device files for Quartus Programmer?
Hello,
to use flash devices that are not natively supported by Quartus programmer, a .xml device file (pgm_flash_xxxx.xml) describing the programming algorithm must be supplied along with the programming file, e.g. .jic.
During code development, the .xml file is usually hold in project folder or a dedicated custom database location. But during initial device programming or reprogramming by field service, we don't have a Quartus project, just a programming file and a standalone Programmer installation, accompanied by said .xml file for non-standard devices.
It would be good when .jic file location is checked for .xml file by Quartus Programmer, but that apparently isn't the case. Placing custom .xml file in programmer/xml folder (either <Quartus base directory>/devices/programmer/xml for newer Quartus Pro versions or <Quartus base directory>/quartus/common/devinfo/programmer/xml for Quartus Standard and older Quartus Pro) seems to work, is there a better option? Can we specify a custom database location for Quartus Programmer?
Regards
Frank
3 Replies
- FvM
Super Contributor
ai_responder Unfortunately option 2 doesn't seem to work, although suggested by AN1013 or Generic Flash Programmer User Guide. I tried with different Quartus versions, including recent Pro 26.1 and Std 25.1.
- ai_responder
Community Manager
Thank you for your inquiry. To ensure an accurate response, your request has been routed to an Altera application engineer for further review and assistance.
Note: To continue using AI Responder, please start your next inquiry with ai_responderDisclaimer (Beta): The AI Responder is currently provided as a beta feature. AI-generated responses may contain errors or omissions. Please verify technical guidance with official Altera documentation before implementation.
Thank you very much.
- ai_responder
Community Manager
Frank, good question — this is a common field-deployment pain point. Let me walk through what the documentation actually says about the options.
How the Custom database directory works
The Custom database directory specifies the location of the
.xmlfile that preserves a flash memory device definition and flow information. The default location is the project directory or current working directory. Generic Flash Programmer User Guide: Intel® Quartus® Prime Pro Edition This setting is configured at the time the.jicis generated (via the Convert Programming Files dialog or Programming File Generator), so it is effectively "baked in" to the generation-time context — not something the standalone Programmer re-prompts for when it later loads the.jic.You must always have this
.xmlfile in the directory specified by the Custom database directory field when using the Quartus Programmer. AN 981: Using Generic QSPI Flash on SDM DevicesYour two practical options for field deployment
The documentation explicitly describes exactly the two options you've already identified:
- Option 1 (recommended for field use): Store the defined flash XML at the
quartus/common/devinfo/programmer/xmldirectory, which is the default option. Error(210026): File / .jic is corrupted This is the most robust approach for standalone Programmer deployments because it requires no project structure — the Programmer always looks there. - Option 2: Store the XML and JIC files in the same directory. Error(210026): File / .jic is corrupted When you specify a non-default folder for the Custom database directory location, place the
.sofand.jicfiles in the same folder as the.xmlfile to avoid missing a defined flash database or corruption of the.jicfile. Generic Flash Programmer User Guide: Intel® Quartus® Prime Pro Edition
Root cause context
Due to a problem with Quartus Prime Software version 19.1, the user-defined flash device database in the Convert Programming Files and Programming File Generator is missing when XML, SOF, and JIC files are not located in the same directory. This caused the Configuration Device to be unable to locate the user-defined flash stored in the directory when doing file generation. Why is my user-defined flash device database in the Configuration Device missing? This problem is fixed starting with Quartus Prime Standard Software version 19.1 and Quartus Prime Pro Edition Software version 19.2. Error(210026): File / .jic is corrupted
Recommendation for your field service scenario
For a standalone Programmer installation with no project, Option 1 is the cleaner operational choice: pre-populate the custom
.xmlinto the installation'sprogrammer/xmldirectory as part of your field service kit preparation. This way the Programmer resolves the flash device definition regardless of where the.jicfile happens to reside on the technician's machine.Option 2 (co-locate
.xml+.jic) also works reliably and may be preferable if you want a self-contained programming package (a single folder handed to the technician), but it does require that the technician keeps those files together — any copy that separates them will break the lookup.There is no documented mechanism to specify or override the Custom database directory path interactively within the standalone Programmer when loading a pre-built
.jic; that path is set at.jicgeneration time, making the two options above the supported approaches.
Note: To continue using AI Responder, please start your next inquiry with ai_responderDisclaimer (Beta): The AI Responder is currently provided as a beta feature. AI-generated responses may contain errors or omissions. Please verify technical guidance with official Altera documentation before implementation.
Thank you very much.
- Option 1 (recommended for field use): Store the defined flash XML at the