Can't load SDK into Linux MCUXpressoIDE

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

Can't load SDK into Linux MCUXpressoIDE

Jump to solution
2,126 Views
myke_predko
Senior Contributor III

Hiya,

I've spent a number of frustrating hours trying to create an SDK that will work with the Linux version of MCUXpresso.  

I'm using the online tool, selecting "Linux" as the target and "GCC ARM Embedded" as the Toolchain. 

Here is a screen shot of the build information from the SDK dashboard:

2020.01.07 - jpeg of the SDK on the Dashboard.jpg

I am downloading the SDK, un gunzipping it, un tarring it and trying to drag the folder or a .zip file into the "Install SDKs" view at which point I get asked if I'm sure I want to import it followed by a message saying it was unable to load the SDK.  When I look at the MCUXpressoIDE's error log (regardless of whether I am trying to load the folder, .zip or even the .tar.gz), I get:

eclipse.buildId=unknown

java.version=1.8.0_201

java.vendor=Oracle Corporation

BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_CA

Command-line arguments: -os linux -ws gtk -arch x86_64

MCUXpresso IDE SDK import

Error

Tue Jan 07 16:12:14 EST 2020

The following items are not supported or not valid SDKs

[/home/myke/LinuxSDK/SDK_2.3.1_MK22FN1M0Axxx12.tar.gz]

I have no idea why that line is at the bottom as, as noted,  I have ungunzip'd and untar'd the file I downloaded so this is in one of the various files.  I have attached the file that was downloaded from the SDK site.  I am running Ubuntu 18.04.03 LTS

I should also point out that this happens if I use something like a Freedom board SDK.  

I'm having no trouble with Windows (but want to transfer my software development from Windows 7 to Linux).  

I'm sure I'm doing something simple wrong but I've got no idea what it is - any help is appreciated!

myke

Tags (2)
0 Kudos
Reply
1 Solution
1,871 Views
lpcxpresso_supp
NXP Employee
NXP Employee

To use an SDK with MCUXpresso IDE, you need to build then install one that has MCUXpresso IDE support configured as the toolchain - NOT vanilla GCC ARM Embedded.

If you install the current MCUXpresso IDE v11.1.0 release, then you can do this directly from within the IDE - with having to use the website SDK builder at all. For more details, please see the MCUXpresso IDE v11.1.0 documentation, along with the release information at:

MCUXpresso IDE v11.1.0 Now Available 

Regards,

MCUXpresso IDE Support

View solution in original post

0 Kudos
Reply
6 Replies
1,872 Views
lpcxpresso_supp
NXP Employee
NXP Employee

To use an SDK with MCUXpresso IDE, you need to build then install one that has MCUXpresso IDE support configured as the toolchain - NOT vanilla GCC ARM Embedded.

If you install the current MCUXpresso IDE v11.1.0 release, then you can do this directly from within the IDE - with having to use the website SDK builder at all. For more details, please see the MCUXpresso IDE v11.1.0 documentation, along with the release information at:

MCUXpresso IDE v11.1.0 Now Available 

Regards,

MCUXpresso IDE Support

0 Kudos
Reply
1,871 Views
myke_predko
Senior Contributor III

Thank you for the reply - I'll give it a try.  

No, one minor point of confusion all the documentation says that the latest version of MCUXpressoIDE is v11.1.0 - but when I look at "About" for MCUXpressoIDE for Linux 0 it says that it's version v11.0.1 as you can see from this screen shot:

2-2-.01.10  MCUXpresso Linux Version Number.jpg

What is the correct version number for the Linux version of MCUXpressoIDE?  When I click on "Check for Updates" is says "No updates found".

Thanx,

myke

0 Kudos
Reply
1,871 Views
converse
Senior Contributor V

The latest version of MCUXpresso is 11.1.0 for all platforms. NXP does not support upgrading from one release to another, so you need to download and install 11.1.0

0 Kudos
Reply
1,871 Views
myke_predko
Senior Contributor III

Mr. Verse,

Thank you for your reply.  I have made some progress but I need some more help when it comes ot the PEmicro Multilink Universal programmer.  

First off, I downloaded MCUXpressoIDE on January 7th of this year.  I hadn't deleted the tab yet and here it is:

2020.01.11 - Original Download Screen.jpg

When I saw your email, I went to the NXP MCUXpressoIDE download page today and discovered that the version was now different:

2020.01.11 - This Day's Download Screen.jpg

Any ideas what's happening here?  The Linux PC was booted on January 7th and maybe it picked up an cached page but I have no idea how that happened - I've been on a Windows PC primarily (which does have v11.1.0) and started moving to the Linux system.  I had not loaded in any previous versions on to this system.  

Loading SDKs Under Linux:

Regardless of the version weirdness, after installing v11.1.0, I was able to load in the same SDK I was using on my Windows machine (this was for an MK20DN512VLL10, which we're using for our product) and then build one of the projects I created.  What does the "Host OS" mean in this case?  Regardless, you might want to make it a bit more intuitive for the user so that if they're going to use an SDK with MCUXpressoIDE, then they shouldn't touch anything. 

Could I suggest that you disable the "Host OS" dropdown unless the user selects anything other than "MCUXpressoIDE" as the "IDE/Toolchain"?  I tried a number of approaches to making different SDKs, all with the "Host OS" being "Linux" and I can tell you categorically none of them work.

PEmicro Multilink Universal programming/debugging problem:

I connected my PEmicro Multilink Universal which seemed to be recognized by the system without any issues (I did not change anything).  Clicking on "Debug As" ==> "PEmicro probes" the programming operation seemed okay and the buttons for debugging became enabled.  I started the program running but it stopped immediately with the log messages being:

Final - program crash after clicking on "Run":

eclipse.buildId=unknown
java.version=1.8.0_201
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_CA
Command-line arguments: -os linux -ws gtk -arch x86_64

org.eclipse.cdt.dsf.gdb
Error
Sat Jan 11 14:57:39 EST 2020
Failed to execute MI command:
-data-list-register-values x 25
Error message from debugger back end:
Thread id: 1 has terminated

java.lang.Exception: Thread id: 1 has terminated
at org.eclipse.cdt.dsf.mi.service.command.AbstractMIControl$RxThread.processMIOutput(AbstractMIControl.java:993)
at org.eclipse.cdt.dsf.mi.service.command.AbstractMIControl$RxThread.run(AbstractMIControl.java:822)

Second, Part of the Load:

eclipse.buildId=unknown
java.version=1.8.0_201
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_CA
Command-line arguments: -os linux -ws gtk -arch x86_64

com.nxp.mcuxpresso.trace.core
Info
Sat Jan 11 14:57:26 EST 2020
PEMicro continuous memory service session connected on port 10224->35808 @ 127.0.0.1

First message:

eclipse.buildId=unknown
java.version=1.8.0_201
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_CA
Command-line arguments: -os linux -ws gtk -arch x86_64

com.nxp.mcuxpresso.trace.core
Info
Sat Jan 11 14:57:26 EST 2020
SWO session connected on port 10224->35806 @ 127.0.0.1

 

If I try single stepping through the application, I get the following message when I try to step over a second "GPIO_TogglePinsOutput" macro:

eclipse.buildId=unknown
java.version=1.8.0_201
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_CA
Command-line arguments: -os linux -ws gtk -arch x86_64

org.eclipse.cdt.dsf
Error
Sat Jan 11 15:05:27 EST 2020
Request for monitor: 'RequestMonitor (org.eclipse.cdt.dsf.mi.service.MIRunControl$9@43c555aa): Status ERROR: org.eclipse.cdt.dsf.gdb code=10001 Context cannot be suspended. null' resulted in an error.

followed by:

eclipse.buildId=unknown
java.version=1.8.0_201
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_CA
Command-line arguments: -os linux -ws gtk -arch x86_64

org.eclipse.cdt.dsf.gdb
Error
Sat Jan 11 15:05:27 EST 2020
Context cannot be suspended.

Note that changing the USB cable, like the SEGGER.  

I should also point out that the operation of the PEmicro Multilink Universal is pretty marginal on the Windows version of MCUXpressoIDE v11.1.0.  It is rock solid reliable under CodeWarrior.  

SEGGER J-Link programming/debugging problem Okay:

I connected my Segger J-Link  which seemed to be recognized by the system without any issues (I did not change anything).  Clicking on "Debug As" ==> "SEGGER J-Link probes" the programming operation seemed okay but I got a number of errors saying that there were communications issues/"Failed to execute MI command".  

On a hunch, I decided to try a shorter USB cable (I was using a 10 foot cable) and replaced it with a 2 metre cable and things started working fine and repeatedly.  

So, if you get someone irate like me saying that things don't work for their SEGGER J-Link, ask about the USB cable - this "fix" doesn't seem to be anywhere on the web, I will put it on the SEGGER forumas a suggestion for other people.  

I should also point out that the J-Link's operation under Windows is a bit spotty with, interestingly enough, the program doesn't seem to save in Windows (ie removing the J-Link, resetting the board or powering up and powering down, it won't come back up) - this is not an issue under CodeWarriior.  

I don't know what you want to do with this, but I thought it would be helpful.  

myke

0 Kudos
Reply
1,871 Views
myke_predko
Senior Contributor III

Sorry, one more question - is there a document that outlines how to use MCUXpressoIDE in Linux?  

Erich Styger's great posts don't explain how to do it (although they do talk about working with the SDK under Linux) - unless I've missed them and can't find them in my searches.  

Thanx,

myke

0 Kudos
Reply
1,871 Views
myke_predko
Senior Contributor III

This is a bit crass, but can I ask, has anybody got MCUXpressoIDE 11.0.1 working under Linux?  That is to say that they can load an SDK, create an application and burn it into a (Kinetis) SoC?  

I'm asking because when I look at the error.log (attached), there are a lot of what I would consider very basic errors that I don't see when I try to get MCUXpressoIDE working under Windows.  

Thanx - I really need to get the development tools moved over to Linux.

myke

0 Kudos
Reply