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

How to generate .hexout File for MAX10 Devices

Altera_Forum
Honored Contributor II
2,022 Views

Hi. On cyclone devices, it was easy to get a .hex file by using the "convert programming file" tool. Now, when i try to get a hexout out of a .sof file, it shows a message "Device 10M08SAE144ES does not support selected configuration mode". How can a get the CFM0 configuration data in a open/readable format like .hex (for my own bootloader for a MAX10)? 

 

Thank you very much.
0 Kudos
6 Replies
Altera_Forum
Honored Contributor II
972 Views

It's interesting, but I see the same issue. But the question is why do you need a bootloader, when you program the internals once and it's done. 

 

You will be able to write a converter from the SOF or POF file, but that's really a binary format. 

 

Pete
0 Kudos
Altera_Forum
Honored Contributor II
972 Views

Thanks for reply. I opened a second topic (http://www.alteraforum.com/forum/showthread.php?t=49098) for my basic bootloader issue. To keep the topic clean, only the question: Is there (enough) information about the .sof format to get it done easily ?

0 Kudos
Altera_Forum
Honored Contributor II
972 Views

Thank you for reply, 

i woud like to remote upgrade the fpga by an external microcontroller. But without the configuration source data, i can't do that. Do you have information how the SOF data is structured?
0 Kudos
Altera_Forum
Honored Contributor II
972 Views

This thread shows some information on the POF File format. 

http://www.alteraforum.com/forum/showthread.php?t=4947 

 

I could find in my quick search the SOF format. 

 

We typically use the RBF file or the "Remote Update Controller" ip and our own cpu interface. However neither are available for the MAX10 (At least yet) 

 

This is a good question. 

 

Pete
0 Kudos
Altera_Forum
Honored Contributor II
972 Views

ok, thanks. the .rpd file was a good hint. In an741 (https://www.altera.com/en_us/pdfs/literature/an/an741.pdf) i found a work-around to extract the data i was looking for (i hope that is "all i need") 

 

 

--- Quote Start ---  

1. On the File menu, click Convert Programming Files. 

2. Under Output programming file, select Programmer Object File (.pof) in the Programming filetype list. 

3. In the Mode list, select Internal Configuration. 

4. In the File name box, specify the file name for the programming file you want to create. 

5. To generate a Memory Map File (.map), turn on Create Memory Map File (Auto generateoutput_file.map). The .map contains the address of the CFM and UFM with the ICB setting that youset through the Option/Boot Info option. 

6. To generate a Raw Programming Data (.rpd), turn on Create config data RPD (Generateoutput_file_auto.rpd).With the help of Memory Map File, you can easily identify the data for each functional block inthe .rpd file. You can also extract the flash data for third party programming tools or update theconfiguration or user data through the Altera On-Chip Flash IP. 

--- Quote End ---  

 

 

 

The IP Catalog shows a Remote Upgrade IP Core. This one seems to be able to write to the CFM. The Problem is, there is a huge inconvenient Avalon Bus on it. In this document (https://www.altera.com/content/dam/altera-www/global/en_us/pdfs/literature/ug/ug_altremote.pdf), its talking about a direct ip core variant - but i cant find an option for direct access interface as shown on Page 9. :-( 

 

 

0 Kudos
Altera_Forum
Honored Contributor II
972 Views

I'm glad you were able to get the data you required. 

 

You do not have to have an Avalon Bus for the Remote Update Core. But the problem, is as of Quartus 15.0 at least, this core is not available for the MAX10. 

 

The other problem, is Altera hasn't always provided a simulation model for this IP, so it's a bit of a hack to get it to work. 

 

We have it working for one of our systems with a simple UART interface to a remote external CPU that writes through the remote update IP using a statemachine to manage everything. 

 

 

Pete
0 Kudos
Reply