HAL component not built in system library...
I am building software for designs that include a user logic module for which I have a custom API. I use HAL to package up this API so that it's built with the system library in the N2IDE. The API does not fit into HAL's generic device model, so all I do is create the HAL directory structure in <Quartus project dir>/<user logic module name>/ and populate it with <module name>.h, the API header and source files, and component.mk (as described in the Nios II SW Developer's Handbook). I can create and build a new application project and system library without a hitch; N2IDE finds the HAL component and builds the API source files, and the application has no problem finding header files and linking with object code from the custom API.
Then I'll go off and create new software projects for different designs, close the IDE, and come back to the original application I was working on. I fire up Quartus, download the design, and go to N2IDE to run my app. N2IDE tries to build my app, but this fails because none of the header files for my custom HAL API are found. I rebuild the system library, but from the C-Build messages, I can tell that it doesn't pick up the API's source code any longer. I compared the <system library dir>/Debug/system_description/generated_all.mk files from two projects: one that I just created and built successfully, and one that I "revisited" and no longer recognizes my API. In the shiny new project, generated_all.mk includes this macro definition: COMPONENTS_DEVICE_DRIVERS = /cygdrive/c/altera/kits/nios2/components/altera_avalon_dma /cygdrive/c/altera/kits/nios2/components/altera_avalon_spi /cygdrive/c/Work/NewProject/Quartus/user_logic_module There it is: my user logic module directory, under which I've organized the API source files in a HAL-friendly manner. In the revisited and now broken project, the directory where my API lives is no longer referenced in generated_all.mk: COMPONENTS_DEVICE_DRIVERS = /cygdrive/c/altera/kits/nios2/components/altera_avalon_dma /cygdrive/c/altera/kits/nios2/components/altera_avalon_spi What's going on here? Is there any reason why rebuilding the system library should cause it to lose all knowledge of my API? I can work around this issue in two ways: - recreating the application project - re-generating the SOPC Builder system ... but naturally I'd rather not have to do either. Any ideas? Is this issue fixed in Service Pack 1?