This document details how to create a new project and build using the existing code and makefile provided within the NXP Vision SDK example projects. If you are creating a new makefile project with code from any other source, the procedure may be different.
Before creating a new makefile project from existing code we need to add some paths to the environment variable PATH and a couple of new environment variables. There are 3 main methods for adding these paths and variables. Which method depends upon your needs.
Method 1
The paths and variables can be added to each project individually. This is useful if you only want these changes to affect a small number of projects. Or if your projects require different paths and variables.
Method 2
The paths and variables can be added to the entire workspace within S32DS . These will not be visible outside of S32DS and therefore will not affect the entire Windows environment. This is useful if you have a large number of projects with common requirements for paths and variables and do not want them visible any tools outside of S32DS.
Method 3
The paths and variables can be added globally to the Windows environment and will affect all installed tools. This method is not recommended.
Add the following paths to the PATH variable (assuming the default installation settings for S32DS for Vision were used):
C:\NXP\S32DS_Vision_v2018.R1\Cross_Tools\gcc-6.3-arm64-eabi\bin
C:\NXP\S32DS_Vision_v2018.R1\Cross_Tools\gcc-6.3-arm64-linux\bin
C:\NXP\S32DS_Vision_v2018.R1\Cross_Tools\gcc-6.3-arm32-eabi\bin
C:\NXP\S32DS_Vision_v2018.R1\utils\msys32\mingw32\bin
It is also necessary to add the following Windows system variables:
Variable Name: S32V234_SDK_ROOT
Variable Value: C:\NXP\S32DS_Vision_v2018.R1\S32DS\s32v234_sdk
Variable Name: APU_TOOLS
Variable Value: C:\NXP\S32DS_Vision_v2018.R1\S32DS\APUC
Now we are ready to create the new project.
1) Launch S32DS for Vision
2) Click New
3) Select 'Makefile Project with Existing Code'
4) Select Next
5) For 'Existing Code Location', select 'Browse...' and then select the directory C:\NXP\S32DS_Vision_v2018.R1\S32DS\s32v234_sdk\demos\isp\isp_sonyimx224_rgb_yuv_gs8
6) Click OK
7) For 'Toolchain for Indexer Settings', select the option which matches your desired build configuration. Select:
Linux builds: 'Standard S32DS Linux toolchain for ARM Cortex-A'
Standalone builds: 'Standard S32DS toolchain for ARM Cortex-A'
This sets up some toolchain paths, but later we will set more for the specific needs of the VSDK examples.
8) Click Finish
9) Change to C/C++ perspective, click on 'Switch to C/C++ Development'
10) Right-click on the project from the Project Explorer. Select Properties
11) Go to section 'C/C++ Build' and make sure that Generate Makefiles automatically is unchecked:
12) Go to the 'Behavior' tab and in the field next to 'Build', enter:
ISP examples: 'allsub'
APEX examples: 'APU_COMP=nxp allsub'
13) In the field next to 'Clean', enter 'clean'
14) Go to 'Builder Settings' tab, in 'Build location' section change the path for the 'Build directory'. Click on 'Workspace...' button
15) In the Folder selection menu, select the subfolder 'build-v234ce-gnu-linux-d' and click OK
16) Go to section 'Environment'
17) Select the environment variable 'PATH' and click 'Edit...'
18) Add the paths to the value field, each separated by a comma ';'
C:\NXP\S32DS_Vision_v2018.R1\Cross_Tools\gcc-6.3-arm64-eabi\bin
C:\NXP\S32DS_Vision_v2018.R1\Cross_Tools\gcc-6.3-arm64-linux\bin
C:\NXP\S32DS_Vision_v2018.R1\Cross_Tools\gcc-6.3-arm32-eabi\bin
C:\NXP\S32DS_Vision_v2018.R1\utils\msys32\mingw32\bin
Click OK
19) Click 'Add...'
20) Enter the variable name 'S32V234_SDK_ROOT' and value 'C:\NXP\S32DS_Vision_v2018.R1\S32DS\s32v234_sdk'
Click OK
21) Click 'Add...' again and this time enter variable name 'APU_TOOLS' and value 'C:\NXP\S32DS_Vision_v2018.R1\S32DS\APUC'
Click OK
22) Click OK to close the Properties menu.
23) Click on 'Build'
24) Once the build is complete, the binary file (ELF) will be created
If you like to create release version - add another build configuration and select release build folder. Right click on project name->Properties:
Switch configuration to Release and select build folder:
Exclude release build when Default (you can rename it to Debug) configuration is selected and vice versa. Right click on Release build folder (that one which ends with -o). Choose Resource configuration and select exclude from build:
Right click on Debug build folder (that one which ends with -d) -> Resource Configuration -> Exclude from build and select Release:
Select Build target to Release and build it: