I'm trying to use the new Image Info feature introduced in version 11.0 but it says "Cannot analyze build artifact (/path/to/{Debug,Release}/image.{elf,axf}).
Analyzing the build artifact for an SDK example project does work however.
The only difference I could see are two extra linker options "-Xlinker --sort-section=alignment" and "-Xlinker --cref" but adding them had no effect on this issue. The both build have the same compiler options (e.g. "-fstack-usage").
The issue appears to be due to the location of the project. My project is stored outside the workspace directory, whereas the imported example is store inside the workspace directory. If I copy my project's build artifact to the SDK example, I can analyze it. Similarly, if I copy the SDK example's build artifact to my project outside the workspace folder, it fails with the error above.
How do I fix this?
relative path:
absolute path:
This issue should be resolved with MCUXpresso IDE v11.0.1:
Regards,
MCUXpresso IDE Support
We’ve been able to produce such a case on Linux if we renamed the project directory than the original created one.
If this is the case, the first workaround would be to double check if directory name is identical with the one described in the property called <name> for the .project file and to make them the same (so change the dir name with the one from .project) – see below:
If not the case, the second workaround would be to import the project into the workspace by selecting “Copy projects into workspace” option:
Please let us know if this worked for you.
Greetings,
MCUXpresso IDE Support
That appears to be the root cause. Thank you.
However, I cannot use the proposed workarounds. First, I cannot enforce the name of the directory used for the project because it is created during a git clone by the developer. Second, I cannot copy the project files into the workspace because the project uses git and copying the files to a new folder breaks source control.
My solution is to use Vagrant to create a VM with the current directory mounted and shared at a path that matches the project name and then importing that project without copying any files. This way I can control the path but the developer is still free to clone anywhere they want.
config.vm.synced_folder ".", "/vagrant/frdmk22f_om13588_usb_examples_usb_pd_bm_audio"
I also tried creating a symlink from a directory with the same name as the project to the shared/synced folder with the project source. This restores some functionality of the Image Info feature. For example, I can explicitly open the artifact and see some object file information but cannot see the Memory Usage tab. I'm confused why part of the feature breaks.
Ideally, MCUXpresso would be able to handle analyzing build artifacts regardless if the project name matched the project directory. Is it possible to report this as a bug?
We plan to fix it for the next version.
Greetings,
MCUXpresso IDE Support
I do have projects outside the workspace, and this is not causing problems to me.
What is the path of our project outside the workspace? Does it have some special characters in it?
Thanks,
Erich