AnsweredAssumed Answered

Can't determine processor when building headless

Question asked by Ryan Shuttleworth on Dec 18, 2017
Latest reply on Dec 20, 2017 by LPCX presso support

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.

Outcomes