Altera_Forum
Honored Contributor
15 years agoBug or my ignorance? Regenerating BSP after changing .sopcinfo
So a lot of typing for one question:
Did I find a bug or is there an easier way to propagate changes in the .sopcinfo into your BSP and on into the application? Came across this as I was bringing up my external SDRAM. Not sure if it is my ignorance or a real bug I need to report. I've checked the errata at ltera.com/literature/rn/rn_nios2eds.pdf and did not see it. Using Altera 10 with the latest service pack. Defined a really simple soft processor with the minimal stuff to use the Eclipse environment. I've got a NIOS F processor, on-chip memory, Jtag UART, External SDRAM (whose timing I manually entered), sysID, and system timer. 1. Generate the system in SOPC builder. 2. Compile the sof in quartus and load it in hardware. 3. Open the NIOS Eclipse tools and right click in the project explorer and create a new "NIOS II Application and BSP from Template" 4. Compile the application and download. Software works and runs just fine but I am getting ram errors as I test my external RAM. 5. Return to SOPC builder and change some timing characteristics for the system and regenerate the .sopcinfo. 6. Recompile and load sof in quartus. 7. Here's my problem: It is almost impossible to get the application to correctly regenerate the BSP and use the regenerated BSP. I can make clean on both the project and the BSP, go into BSP editor and click "generate", and the build. Everything builds just fine but when I download, it complains that the sysid on the hardware is newer than the sysid I built my application with. If I delete the application and BSP and then recreate it, it works. I did find an annoying workaround that is less work than recreating the entire project every time the BSP changes. Create another "dummy" BSP in the workspace. When you regenerate the BSP, pull up the project properties for your application, select "NIOS II application properties", change "BSP project location" to your "dummy" bsp, hit apply, then change it back to the one just regenerated. That was the only way I could get it to "take" an updated BSP. To me this says that the BSP project is correctly updating but the application somehow is not "seeing" this change until I switch BSPs. Anybody seen this or have a better way? David