How do you change the SDK version for an existing project

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

How do you change the SDK version for an existing project

3,514 Views
skyguy
Contributor III

I started a project with an SDK version 2.3.1.  Now version 2.4.0 is available.  How do I migrate a project to a new SDK version?

0 Kudos
5 Replies

2,737 Views
MarcinChelminsk
Contributor IV

Hello,

my previous post disappeared, unfortunately, so need to write from scratch again.

Hope my input will be valuable, however it is still not complete solution as the project does not work after SDK update. However updating SDK in existing project is interesting as updates of MCUXpresso or SDKs come pretty often.

Let's assume scenario:

  1. MCUXpresso IDE v11.4.0 [Build 6224] [2021-07-15] and initial SDK_2.x_MIMXRT1170-EVK 2.9.0 (Stage 1013 2021-01-08) Manifest 3.8.0
  2. Create new workspace and Import SDK example - tensorflow_lite_micro_label_image_cm71_SDK290_eIQ_TFLMicro.png
    • why this example? because in newer SDK 2.10.0 there is an update for TensorFlow Lite for Microcontrollers to version 2.4.1, therefore we will check if updating SDK works3_change_log.PNG
    • how to download change logs? go to your SDK Dashboard, hit particular SDK and then Download SDK Documentation2_SDK_doc_change_logs.PNG
  3. Optionally, you can go to your project folder (in my case C:\MCUXpressoIDE_11.4.0_6224_SDK_update\evkmimxrt1170_tensorflow_lite_micro_label_image_cm7) and initialize there git repository to track the changes
  4. You can check SDK associated with the project as follows:4_project_SDK_info.PNG
  5. Hit Build and there should be no errors
  6. Update SDK to 2.10.0 with drag-n-drop method to Installed SDK's tab in MCUXpresso
    • the updated SDK is now SDK_2.x_MIMXRT1170-EVK 2.10.0 (494 2021-07-15) Manifest 3.8.0
    • what is interesting: when you restart MCUXpresso now, SDK associated with project changes from 2.9.0 to 2.10.0 without any major changes in project files (and this looks strange to me, only .cproject has been changed)5_project_SDK_info.PNG
  7. Select project name -> SDK Management -> Refresh SDK Components, you will see:6_refresh_SDK_components.PNG
  8. Accept incoming changes and probably a whole banch of popups like below will appear (I say 'probably' because when I tested this workflow in current workspace there were a situation when no popups appear at all, so I wrote at the beginning that you should create new workspace)7_SDK_updating_questions.PNG
    • You can Replace, Keep existing or Compare
      • Please be aware that when you hit Compare and then Cancel it means that you keep existing file without any change
    • After few popups with questions about different files, you will see the question about version.h file, so I believe you can treat it as confirmation of changing library version from 2.3.1 to 2.4.1 as mentioned at the beginning8_SDK_updating_eiq_version.PNG
    • I clicked Replace for rest of the files to have all news from SDK 2.10.0
  9. Unfortunately after all these operations, projects does not want to build, there is some problem with gprintf folder and few others, unfortunately no enough time to solve it and I believe some manual work is still required

I could find also some tutorial on updating SDK from Erich Styger https://mcuoneclipse.com/2021/04/27/upgrade-to-a-new-nxp-mcuxpresso-sdk/ however there is also requirement to do some manual work.

Anyway, hope that makes sense (even if partially only) and could be useful. Seems that updating SDK is still bit tricky process, at least for me

2,735 Views
ErichStyger
Senior Contributor V

my previous post disappeared, unfortunately, so need to write from scratch again.

This is very frustrating issue with this forum: if you are not logged in, you can write up a post but it will disappear :-(. It happens for me all the time too, and it even has logged in https://community.nxp.com/t5/Ideas/Make-Community-session-duration-at-least-8-hours-It-is-very/idi-p....

NXP forum administrators, please have this fixed.

2,730 Views
MarcinChelminsk
Contributor IV

Hello,

Hope this input will be valuable in some way, however it is still not complete solution as project after SDK update does not work. Seems this process is still bit tricky (at least for me ;-)), however updating SDK in current projects seems to be interesting topic as updates of MCUXpresso or SDK are pretty often.

Let's assume below scenario:

  1. MCUXpresso IDE v11.4.0 [Build 6224] [2021-07-15] and SDK_2.x_MIMXRT1170-EVK 2.9.0 (Stage 1013 2021-01-08) Manifest 3.8.0
  2. Create new workspace and import SDK example – tensorflow_lite_micro_label_image_cm7 (all default settings)1_SDK290_eIQ_TFLMicro.png
    • Why this example? Because in newer SDK (2.10.0) there is a change in TensorFlow Lite for Microcontrollers library to version 2.4.1 (so it will be easy to check if updating SDK in current project is taken into account)3_change_log.PNG
    • Change logs could be found in SDK_2_10_0_MIMXRT1170-EVK_doc.zip (you need to go online to your SDK dashboard and hit particular SDK, in my case SDK 2.10.0 as I am comparing SDK 2.9.0 vs 2.10.0 and then Download SDK Documentation)2_SDK_doc_change_logs.PNG
    • Current SDK associated with project you can check as shown below4_project_SDK_info.PNG
  3. Optionally: go to your imported project folder (in my case C:\MCUXpressoIDE_11.4.0_6224\evkmimxrt1170_tensorflow_lite_micro_label_image_cm7) and initialize there a git repository (to track the changes in project files to be more aware what is going on)
    • I am using Visual Studio Code to work with git, however MCUXpresso is also able to do so, nevertheless it is up to you
    • Commit the freshly downloaded SDK 2.9.0 example as this will be our reference point
  4. Hit Build, no errors, so seems so far so good
  5. Let’s then update SDK to 2.10.0 by drag-n-drop to Installed SDK’s tab in MCUXpresso
    • Current SDK is now SDK_2.x_MIMXRT1170-EVK 2.10.0 (494 2021-07-15) Manifest 3.8.0
    • After changing SDK from 2.9.0 to 2.10.0, SDK associated with project is still 2.9.0 (seems fine as project has been imported from SDK 2.9.0)
    • What is interesting, when you restart now your MCUXpresso and check again SDK associated with project, version 2.9.0 changes to 2.10.0, however seems there are no important changes in project files (only in .cproject)5_project_SDK_info.PNG
  6. Right click on project name -> SDK Management -> Refresh SDK Components and accept the incoming changes6_refresh_SDK_components.PNG
    • You will see popups as follows and seems it is up to you how you update these files (Replace, Keep existing or Compare)7_SDK_updating_questions.PNG
    • Remember: when you hit Compare and then Cancel, existing file will not be affected (when you are in Compare mode you need copy changes from newer file to existing file using buttons Copy All Non-Conflicting Changes from Right to Left and then hit Commit)
    • after few Replace clicks, you will see the question about version.h file and comparison looks like below8_SDK_updating_eiq_version.PNG
  7. After that, I have chosen to replace all the files and unfortunately project does not build any more, there are some problems with gprintf folder, and #include <chrono> in time.h,and few others, unfortunately no enough time to solve that

Hope my above investigation makes sense (even if partially) and will be useful.

I could find also this post from Erich Styger https://mcuoneclipse.com/2021/04/27/upgrade-to-a-new-nxp-mcuxpresso-sdk/ however there are also some manual work required.

 

3,152 Views
danielchen
NXP TechSupport
NXP TechSupport

Hi Rick:

I think the easiest way is to merge the new features and bug fixes into your project. You can compare the differences between the two versions by a comparison tool.

Please refer to the release note for the change logs.

you can find it in the path <SDK_2.4_[K66F]_path>\docs\MCUXpresso SDK Release Notes_[MK66F15].pdf. chapter 9 include a list of "Change Log - Peripheral drivers"

 

Regards

Daniel

0 Kudos

3,122 Views
arnogir
Senior Contributor II

Hello

 

Since two year, is there any easier solution to update SDK? (in my case, from project done with v2.8.0 to v2.8.2).

 

Thanks