- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi All,
I have a very peculiar issue. I have a MAX10 10M08SCE144 with a NIOS core that I am trying to get to run at reset. So I got hold of AN730 which describes how to make sure the device is loaded with the program Hex file at reset. I have followed this guide to the letter for what they call option 2b, which is where the UFM data (hex file) and SOF are combined into a single POF. in Qsys I have ensured that the Flash is present and connected correctly, with initialisatrion unchecked in both the flash and onchip ram settings, and that the reset vector is set to the flash. I then go to edit my BSP and makes sure that none of the HAL linker settings are checked as per AN730. I then clean and build the projects. I generate the hex file and go through the convert programming files to turn it into a pof again, as per AN730. But the NIOS will not startup at reset after power cycling. The code is quite obviously in the UFM, this I know because if I try to load a SOF file into the device the JTAG debugger doing a reset starts the code running, and this cannot be from the SOF itself as the SOF does not contain the NIOS code. Any ideas why the code would be in there but not starting up at reset? many thanks deBoogleLink Copied
10 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi deBoogle,
I believe there is a documentation error on AN730 for Advanced.hal.linker Settings for Boot Option 2. Please try again by enabling allow_code_at_reset and leave other settings unchecked. Regards, CH- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'll have a try now... thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
That did not seem to make a difference. But thank you.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I had a similar problem, have you got the nios and the flash in the same clock domain? I had a load of trouble getting my nios to boot from ufm but moving my nios, flash, dual boot and surrounding ip to the same clock domain fixed it.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I play with this a few months ago. One of my notes says: ...set up the BSP with "Reduced device drivers", "Small C library"
Hope that helps.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Guys,
Some very sage advice, thank you. I have actually already done some of these things. I have reduced drivers set in my BSP and as far as I am aware the flash is in the same clock domain as it is connected to the only clock in the system Qsys system along with the NIOS II/f core. One peculiarity is that it seems to be application (and therefore possibly size) related, the reason I say that is that if I put in a different application code (smaller in size) the bootloader works, however when I put the code I want to run into the application, it does not boot after power cycling. A further oddity is that after powering up (and nothing booting), if I press the reset or toggle nConfig, the system runs the code! Very odd. I am quite confused. Thank you for all your help so far. deBoogle- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
A few guesses:
1. When you mentioned a different application code, did you already check if their BSP settings are identical? and the only difference is the code size? 2. Is you desired application code implements printf() and require JTAG UART print out while the smaller application code does not include any JTAG print out? I am wondering if there is possibility that cause boot copier to stall if no host is reading output from JTAG UART.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ok, I have just come back to this.
I decided to do a complete fresh build, new project folders, workspaces the whole sherbang. And it just worked as per the app note. Not sure what I may have set incorrectly along the way but it now works. My initial suspicion is that I had done so many incremental changes to Qsys, the quartus project and the BSP that maybe the tools were getting a bit confused, but maybe that is just finding an excuse for my lazy mistakes.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Just a quick check, for Advanced.hal.linker Settings, are you enabling "allow_code_at_reset" and leave other settings unchecked? Or you are leaving all settings unchecked? Which setting actually works?- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
AH Sorry, the "allow_code_at_reset" is unchecked. The app note does say this but then points to a graphic where it shows it checked!
I had tried this prior to doing a complete rebuild and it didnt seem to make a difference. But who knows! deBoogle
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page