S32 Design Studio Knowledge Base

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

S32 Design Studio Knowledge Base

Discussions

Sort by:
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_4.2.8.201909091700\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.
View full article
      Product Release Announcement Automotive Microcontrollers and Processors S32 Design Studio for ARM® 2018.R1  Update 6          What is new? S3214x SDK RTM 2.0.0. This is a cumulative update - it includes all the content of previous updates (Update 1, Update 2, Update 3, Update 4, Update 5) To select the new SDK in the New Project Wizard, the Toolchain must be changed to 'ARM Bare-Metal 32-bit Target Binary Toolchain' Installation instructions The update is available for online (via Eclipse Updater) or offline installation (direct download link) online installation:  go to menu "Help" -> "Install New Software..." dialog  select predefined update site "S32DesignStudio - http://www.nxp.com/lgfiles/updates/Eclipse/S32DS_ARM_2018.R1/updatesite" select all available items and click "Next" button   offline installation:   go to S32 Design Studio for ARM product page -> Downloads section or use direct link to download the update archive zip file Start S32DS and go to "Help" -> "Install New Software..." Add a new "Archive" repository and browse to select the downloaded update archive .zip file you downloaded in the previous step Select all available items and click "Next" button.   This will starts the update installation process.
View full article
Hello,   The first official release of S32DS for Power Architecture is available in the download section of S32DS web page: http://www.nxp.com/s32ds S32 Design Studio is based on Eclipse open development platform and integrates the Eclipse IDE, GNU Compiler Collection (GCC), GNU Debugger (GDB), and other open-source software. This release supports Windows 7/8/8.1 (32/64 bit), version for Linux will be released later on.   S32DS Power Architecture v1.0 main features Free of charge tool with no code size limitation (no license file required) Eclipse Luna 4.4 Framework GNU Tools for e200 processors build tools (support VLE ISA only, based on gcc 4.9.2, binutils 2.24 and gdb 7.8) Libraries included: newlib, newlib-nano and Freescale EWL2 P&E Multilink (with P&E GDB Server) New Project wizard to create application and library projects for supported devices Peripherals Register View   Devices supported MPC56xx MPC5601P, MPC5602P, MPC5603P, MPC5604P MPC5644B, MPC5644C, MPC5645B, MPC5645C, MPC5646B, MPC5646C MPC5601D, MPC5602B, MPC5602C, MPC5602D, MPC5603B, MPC5603C, MPC5604B, MPC5604C, MPC5605B, MPC5606B, MPC5607B MPC5606S MPC57xx MPC5775K, MPC5774K MPC5746R, MPC5745R, MPC5743R MPC5777M MPC5777C MPC5748G, MPC5747G, MPC5746G MPC5746C, MPC5745C, MPC5746D, MPC5746B, MPC5745D, MPC5745B MPC5744P, MPC5743P, MPC5742P, MPC5741P   Technical Support S32 Design Studio is supported by NXP community - https://community.freescale.com/community/s32/s32ds/ For more details see the attached release notes.   Regards, Stanislav
View full article
The following article describes how to add FreeRTOS thread aware debugging to the Eclipse Debug view using SEGGER J-Link: Show FreeRTOS Threads in Eclipse Debug View with SEGGER J-Link and NXP S32 Design Studio | MCU on Eclipse  I hope this is useful, Erich
View full article
        Product Release Announcement Automotive Processing S32 Design Studio for ARM 2.2         January 31, 2020   The Automotive Processing's Embedded Tools Team at NXP Semiconductors is pleased to announce the release of the S32 Design Studio for Arm® v2.2.  Here are some of its major features: GNU Bare-Metal Targeted Tools for Arm® 32-bit Embedded Processors (GCC version 6.3.120170509, revision g7fea41d) GNU Tools for Arm® Embedded Processors (Launchpad) (GCC version 4.9.3 20150529,revision 227977) Libraries: NewLib, NewLib Nano, EWL, and EWL Nano Semihosting for Arm® 32-bit Bare-Metal Targeted toolchain MSYS2 32bit version 1.0.0 GDB 7.12.1 with Python support The wizards for creating application, library projects and projects from project examples The S32DS Extensions and Updates tool Support for importing projects from CodeWarrior for MCU v.10.6 and Kinetis Design Studio Support for importing MCAL configuration to a custom SDK IAR v7.x and v8.11.2 compiler support Green Hills compiler support SEGGER J-Link (with SEGGER GDB Server) iSystem, Lauterbach and IAR debuggers support PEMicro debugger support (P&E Multilink/Cyclone/OpenSDA) Kernel Aware debugging for FreeRTOS, OSEK MQX 4.2 for MAC57D54H EmbSys Registers view support FreeMASTER Serial Communication Driver v2.0 Sample Drivers for KEA family (Evaluation grade) Integrated S32SDK RTM 3.0.2 Integrated AMMCLIB SDKs 1.1.18 The Getting Started page   NOTE Support for S32V234 was moved to S32 Design Studio for S32 Platform 3.x and not included into S32 Design Studio for ARM anymore. The complete S32 Design Studio for ARM 2.2 release notes are attached below.   Installation Notes Please visit the S32 Design Studio for ARM product page - download section or direct link to download the installer. The installer requires the NEW Activation ID to be entered during the installation. You should receive an email that includes your Activation ID after starting the download.   Technical Support S32 Design Studio issues are tracked through the S32 Design Studio Public NXP Community space: https://community.nxp.com/community/s32/s32dsS32 Design Studio    
View full article
This application demonstrate integration Processor Expert (PE) RAppID Suite for  MPC5777M initialization tool with S32 Design Studio for Power v1.1. There is a separate RAppID project and RAppID Workspace folder included in this project:       This multicore project first initializes the device (PinMux, Clocks, PIT timer). Each core toggles with one LED with different time period. Z4_0 core: LED1...GPDO[0] Z7_0 core: LED2...GPDO[1] Z7_1 core: LED3...GPDO[2]     Yo can adjust the device initialization in PE RappID (open included workspace), generate the code and finally rebuild the project in S32DS.   Note:  Do not let generate PE_Types.h file since it includes some non-vle instructions mixed with VLE ones - this cannot be built by S32DS compiler. linker command file generation needs to be disabled otherwise it generates HighTec specific keywords that S32DS GCC linker does not understand.    Test HW:       MPC5777M-512DS, MPC57xx Motherboard MCU:             PPC5777MQMVA8 0N78H Debugger:    PeMicro USB-ML-PPCNEXUS Target:           Debug (internal flash) EVB connection:  USER LED1 connected to P8.0, LED2 connected to P8.1 LED3 connected to P8.2
View full article
Hello,   The new official release of S32DS for Power Architecture v1.1 is available now! You can download it from S32DS product web page: S32 Design Studio IDE|NXP       This release requires the product activation! Please enter the Activation code from the notification email (it is sent after you click on S32DS download button) into the installer dialog (see the screenshots below). The Activation code is valid for both versions (Windows/Linux).     S32 Design Studio is based on Eclipse open development platform and integrates the Eclipse IDE, GNU Compiler Collection (GCC), GNU Debugger (GDB) and other open-source software to offer designers a straightforward development tool with no code-size limitations. This release supports Windows 7/8/8.1/10 (32/64 bit) and Linux versions as well.   S32DS Power v1.1 main features Free of charge tool with no code size limitation (no license file required - Only acti) Eclipse Luna 4.4 Framework GNU Build Tools for e200 processors supports VLE and BookE ISA, LSP, SPE/SPE2 based on gcc 4.9.2, binutils 2.24 and gdb 7.8.2 Libraries included: newlib, newlib-nano and Freescale EWL2 (ewl and ewl-nano) P&E Multilink (with P&E GDB Server) Graphical tool for creating SPT algorithms SDK management included (FreeMASTER for 560xP, AMMCLIBs) GreenHills and Diab compilers support by new project wizard Lauterbach, iSystem** and PLS debuggers support by new project wizard Kernel Aware Debugging FreeRTOS, eCOS, OSEK. "New S32DS project from” added to support project creating from examples Devices supported MPC56xx MPC5601P, MPC5602P, MPC5603P, MPC5604P MPC5644B, MPC5644C, MPC5645B, MPC5645C, MPC5646B, MPC5646C MPC5601D, MPC5602B, MPC5602C, MPC5602D, MPC5603B, MPC5603C, MPC5604B, MPC5604C, MPC5605B, MPC5606B, MPC5607B MPC5606S MPC5604E MPC5644A MPC5643L MPC5676R MPC57xx MPC5775K, MPC5774K MPC5746R, MPC5745R, MPC5743R MPC5777M MPC5777C MPC5748G, MPC5747G, MPC5746G MPC5746C, MPC5745C, MPC5746D, MPC5746B, MPC5745D, MPC5745B MPC5744P, MPC5743P, MPC5742P, MPC5741P S32 S32R274   Host Operating System Support Microsoft Windows 7/8/8.1/10 32-bit and 64-bit (Home and Pro Editions) Linux versions Ubuntu 12.04/14.04, Debian 8, CentOS 7   Technical Support S32 Design Studio is supported on NXP community - https://community.freescale.com/community/s32/s32ds/ For more details see the attached release notes (product & GCC build tools)   * Red items are the new features ** iSystem plugin integration with the project wizard will be available in S32DS PA v1.2   Regards, Stan
View full article
      Product Release Announcement Automotive Microcontrollers and Processors S32 Design Studio for Power Architecture 2017.R1 Update 11          What is new? S32 SDK for Power Architecture RTM 3.0.0 supporting  S32R274, S32R372, MPC574x-B-C-G, MPC574x-P, MPC574x-R and MPC577x-B-E-C (see the S32 SDK release notes) Integrated Radar SDK RTM 1.2.1 (see the Radar SDK release notes) This is a cumulative update - it includes all of the content of previous updates (Update 1, Update 2, Update 3, Update 4, Updates 5 and 6, Update 7, Update 8, Update 9, Update 10  ). Installation instructions The update is available for online installation (via S32DS Eclipse Updater) or offline installation (direct download link)  installation:  go to menu "Help" -> "Install New Software..." dialog  select predefined update site "S32DesignStudio - http://www.nxp.com/lgfiles/updates/Eclipse/S32DS_POWER_2017.R1/updatesite" select all available items and click "Next" button offline installation:   go to S32 Design Studio for Power product page -> Downloads section or use direct link to download the update archive zip file  Start S32DS and go to "Help" -> "Install New Software..." Add a new "Archive" repository and browse to select the downloaded update archive zip file you downloaded in the previous step Select all available items and click "Next" button.   This will start the update installation process.
View full article
      Product Release Announcement Automotive Microcontrollers and Processors S32 Design Studio for Power Architecture 2017.R1 Updates 5 and 6          What is new? S32 SDK for Power Architecture 1.0.0 RTM supporting MPC574xx.  Service Pack supporting MPC5775 B/E This is a cumulative update - it includes all of the content of previous updates (Update 1, Update 2, Update 3, Update 4 ). Installation instructions The update is available for online (via S32DS Eclipse Updater) or offline installation (direct download link) online installation:  go to menu "Help" -> "Install New Software..." dialog  select predefined update site "S32DesignStudio - http://www.nxp.com/lgfiles/updates/Eclipse/S32DS_POWER_2017.R1/updatesite" select all available items and click "Next" button   offline installation:   go to S32 Design Studio for Power product page -> Downloads section or use  direct link to download the update archive zip file  Start S32DS and go to "Help" -> "Install New Software..." Add a new "Archive" repository and browse to select the downloaded update archive zip file you downloaded in the previous step Select all available items and click "Next" button.   This will start the update installation process.
View full article
This Example demonstrates an alternative way to multi-core projects. This is basically a single eclipse project that generates the single elf file for dual core MCU (MPC5777C) See the project structure below where the sources for each core are separated into a core specific source folder: Main core0 [e200z7_0] performs basic initialization (Clocks, ports..) Each core initializes the interrupt controller in order to service interrupts generated by PIT (Periodic Interrupt Timer): Core 0 (e200z7_0) services PIT channel 0 interrupts generated once per second. Core 1 (e200z7_1) services PIT channel 2 interrupts generated once per two seconds.
View full article
Please note: AMMCLib SDK is standalone from S32/MPC SDK, it is intended for users who will not use the S32/MPC SDK. The AMMCLib SDK does not support all toolchains listed in S32DS new project wizard. For the toolchains it does support, It does not support all versions. The available SDKs will vary depending upon the toolchain which is selected. When creating a new S32DS Application Project, you may have noticed the S32K14x_AMMCLib_xxx SDK option in the Select SDK menu. This is the standalone version of the AMMCLib. If you plan to use one of the S32/MPC SDKs, then it most likely contains an integrated version of the AMMCLib. For this integrated case, the AMMCLib is accessed like any other S32/MPC SDK component and you would not need to add the standalone version. To add the AMMCLib SDK to your project, simply add it in the New Project Wizard (as pictured above) or add it later through the project properties menu, SDKs: Select the SDK from the list and then click 'Attach/Detach...' Click in the column for each build configuration for which you wish to have the SDK attached. You can remove SDKs by clicking the '+', causing it to disappear. It should also be noted that there exist example projects which demonstrate usage of the AMMCLib, though these show usage of the S32/MPC SDK integrated version. When working in your project, you can use the SDK Explorer to drag and drop macros and function calls into your code. To add the SDK Explorer view to your perspective, there are at least 2 methods: 1) Menu method a) Window -> Show View -> Other... OR Alt + Shift + Q, Q b) Filter on 'SDK' c) Select 'SDK Explorer' d) Click OK 2) Quick Access method a) Type 'SDK' b) Select 'SDK Explorer' To access the macros and function calls from the SDK Explorer: 1) Go to the Project Explorer and select your project to make it active. 2) Go to SDK Explorer and all of the SDKs you included in the project will be listed. 3) For the SDK you wish to access, expand the folders and files until you can see the function you wish to add. You can set some filters to hide unwanted content. 4) Simply drag and drop the macro/function call into your source file. The #include statement for the associated header file will be automatically added near the top of your source file. Happy math coding with AMMCLib!
View full article
******************************************************************************** * Detailed Description: * This example shows, how to use printf function in project. * Files uart_console_io.c, uart.c and uart.h was added. These files contain * necessary functions for correct printf() functionality * * * Test HW:         FRDMPK144-Q100 * MCU:             PS32K144HFVLL 0N77P * Terminal:        9600-8-no parity-1 stop bit-no flow control on LPUART1 * Fsys:            160 MHz * Debugger:        Lauterbach Trace32 *                  PeMicro USB-ML-PPCNEXUS *                  OpenSDA embedded debug * Target:          internal_FLASH, internal RAM * EVB connection:  default
View full article
        Product Release Announcement Automotive Microcontrollers and Processors S32 Design Studio for Power Architecture v1.2, Update 3            September 21, 2017   What is new? S32 SDK EAR 0.8.1 supporting MPC5748G & MPC5748C. The new project wizard now offers the new version of S32 SDK: "New S32 Project from Example" offers additional demos and examples. The complete S32 SDK EAR 0.8.1 release notes attached below. Installation instructions This is a cumulative installer - all previous updates (except previous version of S32 SDK EAR 0.8.0) are included so you do not need to install any previous update. The update is available for online (Eclipse Updater) or offline (direct download link) installation. online installation go to menu "Help" -> "Install New Software..." dialog  select predefined NXP S32 Design Studio update repository select all available items http://www.nxp.com/lgfiles/updates/Eclipse/S32DS_POWER_1_2/com.freescale.s32power.updatesite click "Next" button offline installation  go to S32 Design Studio product page -> Downloads section or use the direct download linkand download the "S32 Design Studio for Power v1.2 - Update 3" file. Start S32DS and go to "Help" -> "Install New Software..." Add a new "Archive" repository and browse to select the downloaded Update 3 archive file Select all available items and click "Next" button.
View full article
S32 Design Studio Versions     S32DS IDE for S32 Platform S32DS IDE for Arm® S32DS IDE for Power Architecture® Devices Supported S32V23x S32K1xx MPC56xx S32S247TV KEA MPC57xx S32 Platform Devices MAC57D54H S32R2xx/S32R3xx Integrated NXP Tools S32 Flash Tool FreeMASTER FreeMASTER DDR stress tool     Integrated Configuration Tools S32 Configuration Tools Processor Expert Configuration Tool Processor Expert Configuration Tool Pins Wizard Pins Wizard Pins Wizard Clocks configuration Peripheral/Drivers configuration   Peripheral/Drivers configuration   Peripheral/Drivers configuration DCD/IVT configuration     DDR configuration tool     Integrated NXP Software S32 SDK S32K1 SDK S32 SDK FreeRTOS FreeRTOS FreeRTOS AMMCLib for S32V23x AMMCLib for KEA and S32K AMMCLib for MPC56xx and MPC57xx MCUs Vision SDK KEA SDK Radar SDK Linux BSP MQX OS/MQX Drivers for MAC57D54H   Compilers: NXP GCC 6.3.1* NXP GCC 9.2 NXP GCC 6.3.1* NXP GCC 4.9* GreenHills GreenHills GreenHills IAR IAR Diab   GCC 4.9*   DEBUGGERS Built-in GDB interface: S32 Debugger/S32 Debug Probe P&E Multilink/Cyclone/OpenSDA P&E Multilink/Cyclone/OpenSDA P&E Multilink/Cyclone/OpenSDA Segger J-Link   DEBUGGERS supported: Lauterbach Lauterbach Lauterbach   iSystem iSystem   IAR PLS Host Operating Systems: Microsoft Windows® 7/8/10 64-bit OS (with 32-bit binaries)  – Ubuntu 14.04, 16.04 (64 bit) – Debian 8 (64 bit) – CentOS 7 (64 bit) Microsoft Windows® 7/8/10 32/64-bit OS (with 32-bit binaries)  – Ubuntu 14.04, 16.04 (64 bit) – Debian 8 (64 bit) – CentOS 7 (64 bit) Microsoft Windows® 7/8/10 32/64-bit OS (with 32-bit binaries)  – Ubuntu 14.04, 16.04 (64 bit) – Debian 8 (64 bit) – CentOS 7 (64 bit) Vision specific tools : NXP APU Compiler     ISP assembler     ISP and APEX graph tools     Radar specific tools :     SPT assembler     SPT Explorer/ SPT graph tool     S32 Design Studio for S32 Platform S32 Design Studio for S32 Platform 3.4 (Windows/Linux) S32 Design Studio for S32 Platform 3.4 Update 1 (for S32G2) S32 Design Studio for S32 Platform 3.3 (Windows/Linux)  S32 Design Studio for S32 Platform 3.2 (Windows/Linux)  S32 Design Studio 3.2 - Update 191226 S32 Design Studio 3.2 - Update 191219 S32 Design Studio 3.1 (Windows/Linux) S32 Design Studio 3.1 - Update 2    S32 Design Studio 3.1 - Update 190708  S32 Design Studio 3.1 - Update 190508  S32 Design Studio 2018.R1 (Windows/Linux)   Development packages S32K1 Service Pack 1 (S32 Design Studio 3.4) S32K1xx dev package and S32 SDK for S32K1xx RTM 4.0.0 (S32 Design Studio 3.3) S32S2xxTV 3.1.0 S32V2xx Development Package 3.1.0 S32V2xx 2018.R1   Extension packages Vision Extension Package for S32V234 1.2.0 (S32 Design Studio 3.3) Vision Extension Package for S32V2xx 1.0.0 (for S32 Design Studio 3.1)   S32DS for Arm S32 Design Studio for Arm 2.2 (Windows/Linux)  S32 Design Studio for Arm 2.2 - Update 1 S32 Design Studio for Arm 2018.R1 (Windows/Linux)  S32 Design Studio for Arm 2018.R1 - Update 11  S32 Design Studio for Arm 2018.R1 - Update 10  S32 Design Studio for Arm 2018.R1 - Update 9  S32 Design Studio for Arm 2018.R1 - Update 8  S32 Design Studio for Arm 2018.R1 - Update 7 S32 Design Studio for Arm 2018.R1 - Update 6  S32 Design Studio for Arm 2018.R1 - Update 5 S32 Design Studio for Arm 2018.R1 - Update 4  S32 Design Studio for Arm 2018.R1 - Update 3 S32 Design Studio for Arm 2018.R1 - Update 2 S32 Design Studio for Arm 2018.R1 - Update 1 S32 Design Studio for Arm v2.0 (Windows/Linux) S32 Design Studio for Arm v2.0 - Update 3 S32 Design Studio for Arm v2.0 - Update 2 S32 Design Studio for Arm v2.0 - Update 1 S32 Design Studio for Arm v1.3 (Windows/Linux)  S32 Design Studio for Arm v1.3 - Update 3 & 4 S32 Design Studio for Arm v1.3 - Update 2 S32 Design Studio for Arm v1.3 - Update 1 S32 Design Studio for ARM v1.2 (Windows/Linux)    S32DS for Power S32 Design Studio for Power Architecture v2.1 (Windows/Linux)  S32 Design Studio for Power Architecture v2.1 - Update 14 S32 Design Studio for Power Architecture v2.1 - Update 13 S32 Design Studio for Power Architecture v2.1 - Update 12 S32 Design Studio for Power Architecture v2.1 - Update 10  S32 Design Studio for Power Architecture v2.1 - Update 8  S32 Design Studio for Power Architecture v2.1 - Update 7  S32 Design Studio for Power Architecture v2.1 - Update 2  S32 Design Studio for Power Architecture v2.1 - Update 1  S32 Design Studio for Power Architecture 2017.R1 (Windows/Linux)  S32 Design Studio for Power Architecture 2017.R1 - Update 11  S32 Design Studio for Power Architecture 2017.R1 - Update 10  S32 Design Studio for Power Architecture 2017.R1 - Update 9 S32 Design Studio for Power Architecture 2017.R1 - Update 8 S32 Design Studio for Power Architecture 2017.R1 - Update 7  S32 Design Studio for Power Architecture 2017.R1 - Updates 5 and 6  S32 Design Studio for Power Architecture 2017.R1 - Update 4 S32 Design Studio for Power Architecture 2017.R1 - Update 3  S32 Design Studio for Power Architecture 2017.R1 - Update 2 S32 Design Studio for Power Architecture 2017.R1 - Update 1 S32 Design Studio for Power v1.2 (Windows/Linux)   S32 Design Studio for Power v1.2 - Update 3 S32 Design Studio for Power v1.2 - Update 2 S32 Design Studio for Power v1.2 - Update 1 S32 Design Studio for Power v1.1 (Windows, Linux)  S32 Design Studio for Power v1.1 - Update 1 S32 Design Studio for Power v1.0 (Windows)    Other Hot Fixes S32 Design Studio Offline activation issue hot fix 
View full article
      Product Release Announcement Automotive Microcontrollers and Processors S32 Design Studio for ARM® 2018.R1  Update 8          What is new? S32K1xx SDK BETA 2.9.2 supporting S32K116, S32K118, S32K142, S32K144, S32K146, and S32K148. This is a cumulative update - it includes all the content of previous updates (Update 1, Update 2, Update 3, Update 4, Update 5, Update 6, Update 7 ) Installation instructions The update is available for  (via Eclipse Updater) or offline installation (direct download link)  installation:  go to menu "Help" -> "Install New Software..." dialog  select predefined update site "S32DesignStudio - http://www.nxp.com/lgfiles/updates/Eclipse/S32DS_ARM_2018.R1/updatesite" select all available items and click "Next" button   offline installation:   go to S32 Design Studio for ARM product page -> Downloads section or use direct link to download the update archive zip file Start S32DS and go to "Help" -> "Install New Software..." Add a new "Archive" repository and browse to select the downloaded update archive .zip file you downloaded in the previous step Select all available items and click "Next" button.   This will starts the update installation process.
View full article
Function printf is C library function, which sends formatted output to stdout. Because microcontroller does not contain stdout, it it necessary to redirect it to a different type of output. One of the possible way is using UART. All MPC57xx has LinFlexD module, which supports UART mode.   For proper use the LinFlexD module, it is necessary to initialize it and also create simple functions for transmit and receive data. You can create your own file or use the file uart.c in the attachment. If you want to create your own file, please do not forget to implement the methods, which are called by MW MSL libraries to perform console IO (please look at the attached file uart.c).   In uart.h file, you will find correct function prototypes for functions used in uart.c and also some important enum data types.   Third important file is uart_console_io.c which you find in folder, where S32DS was installed. Open the folder and choose path: S32DS/e200_ewl2/EWL_C/src/sys. This file contains routines which implement low-level console IO routines.   Now, we have all basic files which help us to use printf function. So lets create new project and test printf. Example project is created for MPC5744P.   Create new project, choose EWL library and finish project wizard. Include stdio.h to the file, where you want to call printf function.   Now add uart.c and uart_console_io.c files to the project folder src. Add uart.h file to project folder include.   Initialize system clock and clock for peripherals (look at the attached project). In uart.c file, there are settings for GPIO pins, LinFlex initialization for UART mode and also baud rate calculation (please look at the uart.c file in the attachment).   Now it is possible to use printf function. Important point is, that \n character triggers the data sending. Also, if you do not use this \n character, you will get compile error, but I will explain this further in this tutorial.   Run some terminal emulation, for example Putty and use the following settings:   Now open terminal and  run the code in the microcontroller. This should be the result:   /*************************************************************************************************************************************************************************************/ /*************************************************************************************************************************************************************************************/ /*************************************************************************************************************************************************************************************/   This was the easiest way, how to use printf function. But printf also provides some format characters for printing decimals, floating points, etc. All options you can find in ewl_c_reference.pdf document which is place in S32DS installation folder S32DS/help/pdf.   When you want to use some of the characters mentioned above, you get the following compile error:   When you do not use any format characters in printf argument, function _EWL_CDECL puts(const char_t * s) from puts.c file is called on background. But when you use format characters in printf argument, function int_t _EWL_CDECL printf(const char_t * _EWL_RESTRICT format, ...) from printf.c file is called instead of puts.   Variable result saves value, which function __pformatter returns. But function __pformatter is not implemented. Instead of __pformatter, function __pformatterFP (placed in __printformat.c file) is implemented.   So there are two possible workarounds.   First workaround is place the following code to the Linker flags in project properties: -Xlinker --undefined=__pformatterFP -Xlinker --defsym=__pformatter=__pformatterFP   The code says that there is undefined symbol __pformatterFP (part -Xlinker --undefined=__pformatterFP) and define symbol alias __pformatter=__pformatterFP (-Xlinker --defsym=__pformatter=__pformatterFP ). So from my point of view, symbol __pformatter is replaced by __pformatterFP. Now the correct function is called and the project could be successfully built.     Second workaround is add the printf.c file from S32DS installation folder S32DS/e200_ewl2/EWL_C/src/stdio to the project src folder and exchange __pformatter for __pformaterFP. Clean project and recompile.       I hope this document helps you while implementing printf function in your projects.   Regards, Martin
View full article
      Product Release Announcement Automotive Microcontrollers and Processors S32 Design Studio for ARM 2018.R1  Update 1          What is new? This update adds device support for S32K116  and installs the S32 SDK 1.8.7 EAR (Early Access Release) supporting the S32K116 (see attached S32K116 SDK release notes for more details) S32K116 EAR SDK v1.8.7 Examples - "Create S32DS Project from Example" Installation instructions The update is available for online (via Eclipse Updater) or offline installation (direct download link) online installation:  go to menu "Help" -> "Install New Software..." dialog  select predefined update site "S32DesignStudio - http://www.nxp.com/lgfiles/updates/Eclipse/S32DS_ARM_2018.R1/updatesite" select all available items and click "Next" button   offline installation:   go to S32 Design Studio for ARM product page -> Downloads section or use direct link to download the update archive zip file Start S32DS and go to "Help" -> "Install New Software..." Add a new "Archive" repository and browse to select the downloaded update archive zip file you downloaded in the previous step Select all available items and click "Next" button.   This will starts the update installation process.
View full article
      Product Release Announcement Automotive Microcontrollers and Processors S32 Design Studio for Power Architecture 2017.R1 Update 8          What is new? S32 SDK for Power Architecture 1.8.0 EAR supporting MPC5777C, MPC5775B, MPC5775E, MPC5746R, MPC5745R, MPC5743R This is a cumulative update - it includes all of the content of previous updates (Update 1, Update 2, Update 3, Update 4, Updates 5 and 6, Update 7 ). Installation instructions The update is available for  (via S32DS Eclipse Updater) or offline installation (direct download link)  installation:  go to menu "Help" -> "Install New Software..." dialog  select predefined update site "S32DesignStudio - http://www.nxp.com/lgfiles/updates/Eclipse/S32DS_POWER_2017.R1/updatesite" select all available items and click "Next" button   offline installation:   go to S32 Design Studio for Power product page -> Downloads section or use direct link to download the update archive zip file  Start S32DS and go to "Help" -> "Install New Software..." Add a new "Archive" repository and browse to select the downloaded update archive zip file you downloaded in the previous step Select all available items and click "Next" button.   This will start the update installation process.
View full article
This document explains how to change the package of a processor expert project, for example, from S32K144 100LQFP to S32K144 64LQFP.  It does NOT explain how to change processor derivatives (e.g. S32K144 to S32K142). 1. Assuming that the project is opened and active, go to Components Library View and click on Processors     2. Expand the repository folders and double click on your processor (e.g. S32K144) 3. Select new package (e.g.S32K144_64) and click on finish. Now the new variant will be added to your project 4. Go to PinSettings component and click on Switch Configuration. This action will change the pins configuration for new package and will discard the original pin configuration.
View full article
Bare-metal project migration from an older version of S32DS into a newer one is typically pretty straightforward. Despite of that the migration into S32DS Power v1.2+ requires more attention due the fact it includes a new version of GCC compiler + GCC binutils (see the GCC release notes - here). This version of GCC is now fully EABI VLE compliant  (in contrast to previous versions of S32DS Power  v1.0 and v1.1) and it has several consequences for the project migration object code/libraries are not backward compatible - if you have an object code/library built by a previous version of S32DS Power v1.x you have to rebuild it in new S32DS v1.2+ compiler. default compiler setup has changed - bitfield access is not volatile anymore. This may have a impact on a peripheral registers access via standard header file bitfield structures. Such access may require a specific load/store instruction e.g. "stw" but if compiler is allowed to optimize the access (e.g. use "stb" instead of "stw") an exception may occur. Therefore it is recommended to add  -fstrict-volatile-bitfields  flag into your project GCC compiler settings: linker script file (*.ld) requires some additional linker sections - Linker script file in S32DS Power v1.2+ must contain the sections below: •  KEEP for .init and .fini sections • .ctors and .dtors sections • .preinit array .init array and .fini array sections If the linker script file is not updated and the linker warnings are ignored you may experience an exception at the runtime - typically when __init routine is executed. Missing .init section causes that an invalid instructions is fetched and causes the core IVOR exception. There is an easy way how to automatically fix the linker script file issue directly in IDE. If you import and build an older project in S32DS Power v1.2 the linker issues these linker script related warnings: Right click on the warning and select Quick Fix: Select "Add missed section in linker script"  + "Select All" and press "Finish". Repeat these steps until all the linker script warnings disappears. If you don't use IDE project you have to add the sections below into your linker script manually: .text_vle : { INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text.startup) *(.text) *(.text.*) KEEP (*(.init)) KEEP (*(.fini)) . = ALIGN(16); } > m_text /* that will force pick VLE .text sections */ .ctors : { __CTOR_LIST__ = .; /* gcc uses crtbegin.o to find the start of the constructors, so we make sure it is first. Because this is a wildcard, it doesn't matter if the user does not actually link against crtbegin.o; the linker won't look for a file to match a wildcard. The wildcard also means that it doesn't matter which directory crtbegin.o is in. */ KEEP (*crtbegin.o(.ctors)) KEEP (*crtbegin?.o(.ctors)) /* We don't want to include the .ctor section from from the crtend.o file until after the sorted ctors. The .ctor section from the crtend file contains the end of ctors marker and it must be last */ KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)) KEEP (*(SORT(.ctors.*))) KEEP (*(.ctors)) __CTOR_END__ = .; } > m_text .dtors : { __DTOR_LIST__ = .; KEEP (*crtbegin.o(.dtors)) KEEP (*crtbegin?.o(.dtors)) KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)) KEEP (*(SORT(.dtors.*))) KEEP (*(.dtors)) __DTOR_END__ = .; } > m_text .preinit_array : { PROVIDE_HIDDEN (__preinit_array_start = .); KEEP (*(.preinit_array*)) PROVIDE_HIDDEN (__preinit_array_end = .); } > m_text .init_array : { PROVIDE_HIDDEN (__init_array_start = .); KEEP (*(SORT(.init_array.*))) KEEP (*(.init_array*)) PROVIDE_HIDDEN (__init_array_end = .); } > m_text .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT(.fini_array.*))) KEEP (*(.fini_array*)) PROVIDE_HIDDEN (__fini_array_end = .); } > m_text‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ This may help you to avoid time consuming debugging to figure out the root cause of the core exception. 
View full article