S32 Design Studio (S32DS) for ARM supports IAR Plugin, and the user can use IAR specific features in S32DS with IAR toolchain for ARM.
This document describes the way to convert S32DS project to IAR EW based project using project exporting wizard in S32DS. This guidance is based on the NXP S32K144 microcontroller, and compatible with S32K14x / S32K11x family.
The version of each IDE which is used for this document is as follows:
S32 Design Studio for Arm 2018.R1
IAR Embedded Workbench for ARM 188.8.131.5231
1. Install IAR Plugin using IAR Embedded Workbench plugin manager on S32DS
Help - Install New Software
Put "IAR Embedded Workbench for Eclipse " as the repository for new installation of software.
Help - IAR Embedded Workbench Plugin Manager
Install IAR Plugin which is matched with your IAR version.
2. Create S32DS Project
File - New - S32DS Application Project
The tool chain should be chosen as IAR Toolchain. Be noted that the IAR 7.x toolchain is different from the IAR 8.x.
The project is created as follows.
3. Export S32DS Application Project
File - Export
Choose S32 Design Studio - Project Info Export Wizard
Now "ProjectInfo.xml" was created. "ProjectInfo.xml" should be used for creating a project in the IAR EW.
4. Create IAR EW Project
The way to create IAR project as described below. The snapshots are based on IAR EW 8.32.1. Details may vary.
5. Connect the Project
Use the menu - Project - Add Project Connection, and choose "Freescale Processor Expert".
Select the "ProjectInfo.xml" file which was created at step #3.
Now, the project which had been created in IAR was connected to the S32DS project.
The created IAR project should be modified if the user wants to use the project with S32DS SDK to build and debug under IAR EW environment as follows.
1. Modify the Linker configuration and remove ProjectInfo.xml
Linker configuration from the project Options
Even though the user modified the linker configuration, a definition in IAR EW for "device_registers.h" from SDK will cause build error when trying building the project.
This error will be eliminated by inserting Chip specific definition into IAR project. If you take a look into the "device_register.h", you can find the definition as follows.
2. Define symbols
Right mouse click on the Project name - Options
Write the symbols referred from "device_register.h". The symbols may vary (e.g., CPU_S32K146, CPU_S32K142, ...).
3. Build and Debugger configuration
Options - Debugger
I used PE micro's OpenSDA on S32K144EVB for this document. After choosing debugger and clicking Download and Debug (Ctrl+D), you can see the P&E Configuration Manager as follows. Just choose appropriate configuration, and select the correct part number of S32K by clicking Select New Device.
Finally, you can download and debug the converted IAR EW project with S32DS SDK.
S32 Design Studio (S32DS) supports Wind River Eclipse plug-in which integrates Wind River Diab tool chain for e200 (PowerPC architecture) into Eclipse IDE. S32DS integration by a new project wizard that allows to create a new project with Wind River Diab build tools. The generated executable can be then debugged by any supported debugger plug-in (PEMicro, iSystem, PLS, Lauterbach) S32 Design Studio versions that support Wind River Diab plugin: S32DS Power v1.1+ Installation instructions First of all make sure you have Wind River Diab tools installed on your machine. You can start with Wind River Diab Compiler 5.9.6 Evaluation Anyway, after your evaluation period expires you need a valid license from Wind River to be able to use this plug-in in S32DS. The plug-in is available with the Diab compiler and it's located here: "<WindRiver home folder>\compilers\eclipse_cdt" 1. Run S32 Design Studio and go to menu "Help" -> "Install New Software" and click on "Add..." button. Enter the local location to the folder above. 2. select the "Diab Compiler Support for Eclipse C/C++ IDE " and click "Next" 3. Read and Tick " I Accept the terms of the license agreement" and agree with installation of the unsigned content. 4. When the plug-in is successfully installed you will be asked to restart S32DS. 5. Set the path to the Diab compiler for your workspace (S32DS_DIAB_PATH environment variable) in the Window->Preferences->C/C++->Build->Build Variables (Show System Variables). If you switch the workspace you will need to enter this path again. Now you should be able to create a new project with Wind River Diab toolchain available: The created project includes Diab specific files such as "dld", startup code as well as tools specific setup in the project properties (Project Properties->C/C++ Build->Settings (Tools Settings Tab) Enjoy building with Wind River Diab plug-in in S32DS!
PEmicro’s GDB Server can take advantage of four useful SWO debug tools: Power Measurement SWO ITM Console SWO Data capture Real-Time Expressions. This document describes how to enable and use these features. Note: To set up streaming for SWO debug features, the user should check the “Enable Streaming” checkbox in Debug Configurations during setup. Then the port should be specified in the Streaming Server Port text box. Hardware Requirements The following versions (or later) of PEmicro hardware interfaces are required to take advantage of SWO streaming functionality: Multilink FX Rev. C Multilink Universal Rev. D Multilink ACMP Rev. B Real-Time Power Measurement To enable Power Measurement capture, an active debug session must already be in process. Click the Gear Icon on the title bar of the PEmicro "Power Measurement” window. Select the frequency of data capture and check the Enable box. After clicking OK, Power Recording is now active. Note: The Multilink FX debug probe is required for Real-Time Power Measurement Power Configuration Dialog The next time the target MCU is run, real-time power measurement readings will be shown. The user can start/stop power recording, zoom, export data, and more SWO Printf Console The SWO Printf Console will display messages which are streamed through the SWO pin and captured by the Multilink. There are two main configuration steps needed to leverage this feature. First, the project must be configured to re-direct the printf() statements to the SWO Printf peripheral. This is done at project creation time. Second, the green "Play" button on the SWO ITM Console needs to be clicked during an active debug session. This will cause data collection of SWO printf information to occur on the next Resume. Once data is streaming, the red “Stop” button will stop data streaming. Printf() Statements Displayed In SWO ITM Console The Multilink automatically measures the data communication rate on the SWO pin and adjusts to it automatically. This auto-detect sequence is done each time the processor is stopped in debug mode. If the running code changes the core frequency, a breakpoint should be set after the frequency change so the Multilink can adjust to the new SWO communications rate (which is a function of the core frequency). SWO Data capture The SWO Data view allows the user to configure variables to be tracked such that any reads and writes to these variables are captured and streamed to the Multilink via the SWO pin. This view shows all of the realtime access which have occurred along with the timing of the different accesses. For SWO data, there is a bit more setup. The user needs to select the 'Eyeglasses+' symbol which will bring up a popup of Add datawatch items. Simply enter the information of the different variables to be tracked. Up to four separate variables can be tracked simultaneously. In this example, we select that we wish to capture read and writes of the ledsOn and seconds variables. Once added, the user needs to select which watches data will be captured by checking the "Enable trace" boxes in the SWO Data window and then click the Green Arrow to set the program to start capture on Resume.Upon resuming the application, the right side of the window will show the access which are occurring. Note that this happens in real-time; the microcontroller is not stopped when accesses occur (i.e. the is separate from data breakpoints). Variable Read/Writes Displayed In Real Time The Multilink automatically measures the data communication rate on the SWO pin and adjusts to it automatically. This auto-detect sequence is done each time the processor is stopped in debug mode. If the running code changes the core frequency, a breakpoint should be set after the frequency change so the Multilink can adjust to the new SWO communications rate (which is a function of the core frequency). Real-Time Expressions This view is similar to the standard Eclipse "Expressions" window with the exception that its contents will update in real-time without the device being halted in debug mode. Just add the appropriate variables to the Real Time Expressions window and you will see them updating in real-time. Add Variables To Real-Time Expressions Windows
Condition: I am trying FreeRTOS using S32K118 EVB and run in DEBUG mode. When I set the break point in vTaskDelay and press Resume for the first time, there is a smooth stop at the break point. The second time I press Resume, the debugger should enter the same break point again, but there is no response. Then I press Suspend and can't press Resume again, at this point I can only leave. However, I am free to run this project with no problem, what's wrong? Analysis: This is due to an access of DDR memory region which is not initialized by default project settings. Solution: To resolve it, a macro initializing the DDR memory should be selected to run at the beginning of a debug session. A user should go to Advanced Options dialog and check "Enable initialization script". Our DDR init macros can be found at the following location within S32DS3.2 layout: eclipse\plugins\com.pemicro.debug.gdbjtag.pne_184.108.40.206909091700\win32\gdi\P&E\supportFiles_ARM\NXP\S32Vxxx\S32V234M100_DDR3_EVB29288.mac. Please note that the type of the macro might depend on the revision of the board and S32V23x device one is working with. I am also attaching a picture of debug configuration and Advanced Options dialog with all the settings in place.
Condition: Enable Stopindebug bit for PIT and STM module. Counter could be stop when debug project, but when i set debug mode on, counter not count, project can't be run. Analysis: In order for PIT timer to count when a FRZ bit is enabled, all cores on S32V23x devices need to be running. The reason why it does not work out of the box with current plugin configuration, is because we halt all device cores, which is especially necessary for RAM based projects. Solution: We created a start-up macro to keep all cores running when S32V232M80 or S32V234M100 debug sessions are launched. In order to use it, please go to the following directory without your S32DS3.2 IDE: eclipse\plugins\com.pemicro.debug.gdbjtag.pne_220.127.116.11909091700\win32\gdi\P&E\supportFiles_ARM\NXP\S32Vxxx. Please rename S32V234M100_All_Cores_Running.mac or S32V232M80_All_Cores_Running.mac to default macro names, saving existing default macros in renamed form, or a separate location: S32V234M100.mac or S32V232M80.mac.separate location: S32V234M100.mac or S32V232M80.mac.
This document describes, how to add software site and how to install update from the 3rd party software site. 1) In S32DS, click Help->Install New Software 2) Click Available Software Sites. 3) Select required site, if available. 4) Select required site in Work with line: 5) Available updates will appear in the window below. Check GNU E200 PEMicro Interface Debugging Support 6) Click Next and new window will appear. Select required software and click Next. 7) Accept the license terms and click Finish. New software will be downloaded and installed. Hope it helps. Martin
S32 Design Studio (S32DS) for Power architecture supports PLS UDE Eclipse plug-in to debug S32DS projects via a PLS probe directly in S32DS Eclipse IDE. This feature is supported by all versions of S32DS for Power. This plug-in supports the features below: Seamless integration of complete functionality of Universal Debug Engine inside of the Eclipse IDE UDE provides an own perspective of the Eclipse IDE and integrates UDE workspace in Eclipse workspace Code breakpoint can be set either by C/C++ editors or by UDE specific functions For more details about the plugin read "UDE Eclipse datasheet" located in the download section of PLS web site. Installation instructions First of all make sure you have PLS UDE debugger installed on your computer. Then let's proceed to eclipse plug-in installation. 1. go to menu "Help" -> "Install New Software" and click on "Add..." button and search PLS UDE installation folder for the archive file named "UDEEclipse4Integration.zip" 2. select the Universal Debug Engine component and click "Next" 3. Finally you proceed to the installation. You will be asked to confirm installation of unsigned content. The UDE plugin requires restart after the installation. Create a new project with UDE You should be able to create a new S32DS project via S32DS new project wizard where PLS UDE Debugger support is now available. The UDE plugin enables a new group of UDE eclipse debug configurations to manage (create, delete, adjust) The UDE debug configuration created with a new project requires some changes before you can proceed to debugging. 1. Enter a new UDE workspace name under "<Project>\.ude" folder by clicking on "New Workspace" button 2. Create a new UDE Target configuration file. click on "Create Configuration" button and select "Use a default target configuration" and your target MCU. (in this example MPC5744P). Save the configuration file into your project folder e.g. "<Project>\Project_Settings\Debugger\nxp_mpc5744p_cut2_debug_jtag.cfg" Running the debugger opens UDE specific debug eclipse view where you can benefit from many advanced debugging features including tracing, scripting... Enjoy debugging with PLS UDE Eclipse plug-in in S32DS!
S32 Design Studio (S32DS) for ARM supports IAR Eclipse plug-in that enables users to build and debug a S32DS project with IAR toolchain for ARM. This document describes how to install this plugin and how to enable IAR in the new project wizard. Current version of S32DS for ARM 2018.R1 supports IAR compilers v7.x and v8.x. After the IAR eclipse plugin installation is finished you should be able to create, build and debug a new S32DS project (including SDKs) using IAR compiler/debugger interface directly under S32DS Eclipse environment. Installation instructions First of all make sure you have IAR Embedded Workbench installed with a valid license from IAR. Now let's proceed to eclipse plug-in installation. 1. Install IAR Plugin manager go to menu "Help" -> "Install New Software" and click on "Add..." button to add a new IAR repository located here: http://eclipse-update.iar.com/plugin-manager/1.0 Tick " I Accept the terms of the license agreement" and click "OK" to accept unsigned content software Finally you proceed to the installation. When the plugin is installed you will be asked to restart S32DS Anytime you create a new workspace you will be asked to enter path to IAR Embedded Workbench IDE 2. Configure IAR plugins in IAR Embedded Workbench plugin manager Run IAR plugin manager (Menu "Help" -> "IAR Embedded Workbench plugin manager...") Select the ARM version (8.x) and click "Install" button. Select all the IAR components displayed and proceed to installation by clicking "Next" button. 3. New IAR project in the project wizard You can now create a new project in S32DS and select IAR toolchain for ARM instead of default GCC compiler. There should appear a new item it the Debugger selection - "IAR plugin Debugger". Please choose this option if you intend to debug using IAR supported probes (e.g. I-jet) IAR specific panels and settings are now displayed in the project properties for a new S32DS project with the IAR options enabled (see above). There is a new category "IAR C-SPY Application" in the debug configurations panel that contains all the debug configurations for projects with IAR debug plugin option selected. The Debugger perspective now offers several IAR specific Views and features. Enjoy building and debugging with IAR Eclipse plug-in in S32DS!
S32 Design Studio (S32DS) supports Lauterbach Eclipse plug-in to debug S32DS projects via a Lauterbach probe + TRACE32 standalone application. Currently (S32DS Power 1.1, S32DS ARM 1.3) supports "loose coupling" version of the plug-in. This configuration uses Eclipse IDE for development and standalone TRACE32 for debugging. This plug-in supports the features below: Start TRACE32 from an Eclipse launch configuration Support for multiple projects (multi-core) Synchronization of breakpoints between Eclipse and TRACE32 Open source file’ functionality from TRACE32 to Eclipse and vice versa See the Lauterbach document for additional information about the plug-in. Installation instructions First of all make sure you have TRACE32 installed. Now let's proceed to eclipse plug-in installation. 1. go to menu "Help" -> "Install New Software" and click on "Add..." button 2. select the Loose Coupling version of component and click "Next" 3. Tick " I Accept the terms of the license agreement" and Select all Lauterbach certificates to trust. 4. Finally you proceed to the installation. When the plugin is installed you will be asked to restart S32DS Now you should be able to create a project with Lauterbach Debugger support: or manage (create, delete, adjust) Lauterbach eclipse debug configurations: Enjoy debugging with TRACE32 Eclipse plug-in in S32DS!
A vulnerability in the Apache Log4j was identified in the articles posted: CVE-2021-44228 and CVE-2021-45046
NXP has performed an analysis of this vulnerability with regard to the S32 Design Studio. Our conclusion is that the S32 Design Studio (all versions) is NOT IMPACTED. Although the Log4j is used by S32 Design Studio, the version used is 1.x and the vulnerability was introduced in version 2.12 with a combination of Java versions 9/10/11 where LDAP policy is enabled by default (CVE-2021-45046). The S32Design Studio installation environment is independent and based on Java 8 version, which is common for all tools running under S32Design Studio IDE. In addition, the S32 Design Studio does not use JMSAppender, so it is not affected by the identified log4j 1.x usage concern (CVE-2021-44228). When we determine an upgrade of the Log4j and/or Java version is required for a future release of S32 Design Studio, then this vulnerability will be addressed.
Please see the attached presentation for details on other tools owned by NXP Automotive Processing Software Tools.