Can't determine processor when building headless

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Can't determine processor when building headless

2,007 Views
ryanshuttlewort
Contributor IV

Hello I am using MCUXpresso IDE, version v10.1.0 [Build 589] [2017-11-14] with an MIMXRT1050-EVK SDK, version  2.3.0 (2017-11-16).  I am attempting to run the IDE in headless mode via a Gitlab CI job but I am encountering the following error (!MESSAGE Unable to find part support for NXP MIMXRT1052xxxxx in project fennec_meterboard Resetting to generic part for core cm7):

!SESSION 2017-12-18 10:17:47.016 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.8.0_141
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_CA
Framework arguments:  -application org.eclipse.cdt.managedbuilder.core.headlessbuild -import /home/gitlab-runner/builds/4c8286cc/0/firmware//fennec-meterboard -build fennec_meterboard
Command-line arguments:  -os linux -ws gtk -arch x86_64 -application org.eclipse.cdt.managedbuilder.core.headlessbuild -import /home/gitlab-runner/builds/4c8286cc/0/firmware//fennec-meterboard -data /tmp/mcuxpresso-ci-workspace -build fennec_meterboard

!ENTRY com.nxp.mcuxpresso.core.datamodels 1 0 2017-12-18 10:17:49.550
!MESSAGE Recreating part support. No part support available.

!ENTRY com.crt.log 1 0 2017-12-18 10:17:49.593
!MESSAGE Unable to find part support for NXP MIMXRT1052xxxxx in project fennec_meterboard Resetting to generic part for core cm7

!ENTRY com.crt.log 4 -1 2017-12-18 10:17:50.682
!MESSAGE Unable to find part support for NXP MIMXRT1052xxxxx in project fennec_meterboard Resetting to generic part for core cm7
!STACK 0
java.lang.Exception: java.lang.Exception: Unable to find part support for NXP MIMXRT1052xxxxx in project fennec_meterboard Resetting to generic part for core cm7
     at com.crt.utils.general.Reporter.log(Reporter.java:603)
     at com.nxp.mcuxpresso.core.datamodels.providers.SDKManifestProvider$4.run(SDKManifestProvider.java:721)
     at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: java.lang.Exception: Unable to find part support for NXP MIMXRT1052xxxxx in project fennec_meterboard Resetting to generic part for core cm7
     at com.crt.config.database.TargetConfig.initFromString(TargetConfig.java:1351)
     at com.crt.config.database.TargetConfig.init(TargetConfig.java:1240)
     at com.crt.config.database.TargetConfig.<init>(TargetConfig.java:679)
     at com.crt.config.database.TargetConfig.loadTargetConfig(TargetConfig.java:365)
     at com.crt.config.database.TargetConfigDatabase.load(TargetConfigDatabase.java:73)
     at com.crt.config.database.TargetConfigDatabase.findTargetConfig(TargetConfigDatabase.java:136)
     at com.nxp.mcuxpresso.core.datamodels.providers.SDKManifestProvider$4.run(SDKManifestProvider.java:690)
     ... 1 more‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

It appears that when run in headless mode that the IDE is not able to determine the processor type and I assume this is because it can't find the appropriate SDK.  There is a CLI option for the config tools called '-SDKpath' but it is not accepted by MCUXpresso.

I am using the following build script, similar to that suggested in Building Projects From The Command Line

#!/bin/bash

TOOLCHAIN_PATH=/usr/local/mcuxpressoide-10.1.0_589/ide/bin/
IDE=/usr/local/mcuxpressoide-10.1.0_589/ide/mcuxpressoide
MCUXPRESSO_WORKSPACE=/home/USER_NAME/Documents/MCUXpresso_10.1.0_589/workspace-nxp/
SDK_PATH=/home/USER_NAME/mcuxpresso/01/SDKPackages/SDK_2.3.0_EVK-MIMXRT1050.zip
WORKER_BUILD_DIR=/home/gitlab-runner/builds/4c8286cc/0/firmware/
REPO_NAME=MY_PROJECT_NAME
PROJECT_NAME=MY_PROJECT_NAME
PATH=$PATH:$TOOLCHAIN_PATH

echo Launching Eclipse IDE
"$IDE" -nosplash --launcher.suppressErrors -application org.eclipse.cdt.managedbuilder.core.headlessbuild -import "$WORKER_BUILD_DIR/$REPO_NAME" -data "$MCUXPRESSO_WORKSPACE" -cleanBuild "all" -build "$PROJECT_NAME"
‍‍‍‍‍‍‍‍‍‍‍‍‍

Just a note, when building outside of the Gitlab CI process, i.e. as the user that installed MCUXpresso I can run the headless build process successfully.  I have dumped the default user environment in hopes the SDK path might be injected as an environment variable but I see no such variable.

My questions are:

How does one communicate the location of the SDK to MCUXpresso in headless mode? I see no CLI options for this.

Has anyone had success running MCUXpresso in a similar CI environment? If so please post your build script and any suggestions.

Thanks.

0 Kudos
2 Replies

1,080 Views
np
Contributor IV

I know this is an old thread, but this seems to be the same kind of issue that @mukelarvin ran into. If you set MCUXPRESSOIDE_SDK_INSTALL to point to your SDK install directory, the problem should go away, as per this forum post:

https://community.nxp.com/t5/MCUXpresso-IDE/Trouble-with-headless-build-on-Jenkins-SDK-location-and-...

1,355 Views
lpcxpresso_supp
NXP Employee
NXP Employee

There is information on SDK handling in the MCUXpresso IDE v10.1 User Guide you might like to look at (chapter 4,"SDKs and Preinstalled Part Support Overview") - though nothing explicitly about handling when carrying out headless builds like this I'm afraid.

I suspect that you simply need to ensure that the SDK ZIP file is available in the part support folder for the user carrying out the build. This will allow the IDE to find it and install the part support knowledge into the ".mcuxpressoide_packages_support" directory as it starts up.

Can you successfully build your projects from the IDE in GUI mode when logged in as this same build user?

Regards,

MCUXpresso IDE Support

0 Kudos