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:
This document contains the instructions how to download separate elf/srec/hex file to the microcontroller using S32 Design Studio and USB PE Micro Universal Multilink/OpenSDA debug probes. This could be used in case you get an executable/binary image file only without any project or source code. There are basically three ways: flash programming support in IDE. This is only useful for programming the device. (it is available in S32DS ARM v1.3+, S32DS Power v1.2+) Create a new configuration, adjust its name and browse for elf/srec/hex file: Select MCU and specific core you are targeting: Select where the Flash Configuration should be saved into - workspace metadata (local file) or as a specific file e.g. part of an existing project (shared file). This way the config could be e.g.transferred with this project. Click on "Flash" button to proceed to programming. As soon as the device is programmed it's disconnected. 2. Executable file importer. Go to menu File -> Import -> Select "Executable File Importer"  this starts the wizard. This is for programming and debugging an executable elf object file only. Select the MCU/core you are targeting and browse for the .elf file Adjust the project name and create a debug/launch configuration (PEMicro GDB server example). If the .elf file is built on another machine and the source files are available but located in a different folder the source path could be adjusted. Source-level debugging is then possible. Finish the wizard and new "container" project for your elf is created. Its debug configuration opens automatically. "Debug" button starts the load/debug of the selected elf file. 3. reuse an existing project debug configuration or create a new dummy project for loading .elf/srec/hex Create new project which will provide basic debug settings Compile the project Copy the required .elf file to the created project Debug folder Open new project Debug configuration Choose correct project and set the correct .elf/srec/hex you want to download Click Apply button and then Debug button. The debug window with correct .elf file will be opened. Program is downloaded and you are able to debug or run it.
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
Right click on the Project name in Project Explorer -> Settings -> Cross Settings Be sure to click Apply so the 'Standard S32DS Create Flash Image' section will appear In the Tool Settings tab. Select 'General' under 'Standard S32DS Create Flash Image', now you can specify output in newly appeared option Standard S32DS Create flash image
View full article
S32 Design Studio is free-of-charge software that just requires to be activated. The activation process is incorporated into the S32DS installer. Before you proceed to the installation you always need to get an activation code. The activation code is typically sent automatically to your email registered on nxp.com account when you proceed to downloading of S32DS installer. The example of notification email is below:     There are two types of activation you can choose from - online and offline. If your machine is connected to the Internet then in most cases you just select online activation and S32DS gets activated automatically without any additional steps required.   Anyway if the computer that you are installing S32 Design Studio into has no internet access or there are some firewall/antivirus/infrastructure restrictions that voids the online activation you can select offline activation type instead. This document describes the offline activation process step-by-step:   Step 1. S32 Design studio for Arm/Power/Vision installer pops up the "S32DS Activation" dialog  where you first enter your activation ID and select activation type as offline Step 2. The Offline process will require to save an activation request file -"request.xml". Please save this file into a local folder or an USB drive. Step 3. Software will then require an activation response. To get this file move to a station with the Internet connection. We will get back here once we have activation response file ready. Step 4. Look for the Internet connection and take the "request.xml" file with you. Go to https://www.nxp.com/security/login  click on Apps and Services >  "Software Licensing and Support > Click on View Accounts Step 5. In product information page look for the "Offline Activation" option on the left menu. Step 6. Click on "Choose File" and select the "request.xml" file generated in Step 2.  Press "Process" button to get the "activation.xml" file. This file will be downloaded.   Step 7. Save "activation.xml" file and take it to the original offline station, go back to the Activation response dialog described by Step 3. Step 8.  Load file and installation will be finished. S32 design studio will be activated with your activation ID.
View full article
Hello, the new release of S32DS for ARM v1.3 is available now in the download section of S32DS web page: http://www.nxp.com/s32ds   The Activation code is required to install the product. The activation code is different to previous versions (v1.1/1.2). You should get the appropriate Activation Code by a notification email which is send automatically when you proceed to the downloading: What is new?  New device supported: S32K144 v2.0 ARM64: Linaro GCC 4.9-2015.05 Fully integrated S32 SDK for S32K144 EAR release v0.8.2. including PinMuxing and Processor Expert configuration. FreeMASTER Serial Communication driver for S32K144 family  Highly Assembly Optimized version of Automotive Math and Motor Control Libraries for KEA and S32K devices v1.1.6  IAR debugger support by new project wizard Updated SEGGER and P&E debug plugins to the latest and greatest versions Reset functionality added with P&E debugger for single core projects (KEA, S32K devices) and A5 core for MAC57D54H Flash configuration supported for S32V234 Header files for KEA and MAC57D54H updated Advanced FreeRTOS kernel aware debug support Bug fixes Project Explorer updated to correctly show active build configuration resources     Note: The plugins to support GreenHills, IAR, iSystem, Lauterbach are not included and have to be installed from corresponding update site or installation.
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         February 6, 2017 NXP Semiconductors is pleased to announce the release of the S32 Design Studio for ARM 2018.R1 for Automotive and Ultra-Reliable MCUs. The S32 Design Studio is based on the 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. Red highlighted items below are new/updated features in comparison to previous releases/updates. Release content (What is new?) Eclipse Neon 4.6 Framework GNU Tools for ARM® Embedded Processors (Launchpad) build (4.9.3 20150529) ARM64: Linaro GCC 4.9-2015.05 GNU Tools for ARM® Embedded Processors build (6.3.1 20170824) - supported by New Project Wizard for S32K1xx device. See the complete GNU ARM 6.3.1 release notes attached below. GCC Source code package is available here. Libraries included: newlib, newlib-nano and ewl2 (ewl and ewlnano). GDB 7.12.1 with Python P&E Multilink/Cyclone/OpenSDA (with P&E GDB Server) - updated (v3.3.5.201801101746) SEGGER J-Link (with SEGGER GDB Server) - updated (V6.22e_B180108) New Project wizard to create application and library projects for supported devices Fully integrated S32 SDK for S32K14x EAR release v.0.8.6. For the details on the feature set of SDK please refer to SDK Release notes and Reference Manuals. S32 SDK Release notes attached.Please note that S32K SDK has Early Access Release status, that means that there could be some limitations and issues. The S32K SDK is available for Windows host only. There is limitation on the supported GreenHills compiler version – the SDK released with GreenHills v2014.4, but due to GreenHills plugin limitation support for GreenHills compiler v2017.1 integrated, so new project wizard would not provide possibility to create SDK project with GreenHills compiler. SDK management included Sample Drivers for KEA family (Evaluation grade) FreeMASTER Serial Communication driver for KEA and S32K families Automotive Math and Motor Control Libraries for KEA,S32K and S32V234 devices supporting the ARM Cortex-M4 core v1.1.11 (the particular version availability for a device could be limited by supported compiler versions) Import projects from CodeWarrior for MCU v.10.6 and Kinetis Design Studio for respective supported processors IAR v7.x and v8.11.2 compiler support by new project wizard GreenHills v2017.1.4 compiler support by new project wizard iSystem, Lauterbach and IAR debuggers support by new project wizard. Kernel Aware debugging for FreeRTOS, OSEK. MQX 4.2 for MAC57D54H with possibility to create project from example Devices supported SKEAZN8, SKEAZN16, SKEAZN32, SKEAZN64, SKEAZ128, SKEAZ64 S32K144 v2.0, S32K142, S32K146, S32K148 S32V234 MAC57D54 Getting started page to allow the centralized access to documentation and additional materials Bug Fixes Updated header and register description files to fix issues and synchronize with latest Ref Manual versions [S32DS-4629] Clean rule doesn't work after particular user actions in "C/C++ Build -> Behavior" [S32DS-301] After some debugging work (using BP, Stepping, Resume...) Disassembly view content disappears. [S32DS-1093] Debugging session hangs when "c" step over is done on a loop statement that has its entire block in a single line. [S32DS-273] Can not suspend after set condition of breakpoint = 0 and resume [S32DS-61] Breakpoint properties disappeared after right-click into breakpoint [S32DS-6072] Unable to export S32K144 SDK project into ProjectInfo.xml The complete S32 Design Studio for ARM 2018.R1 release notes are attached below. Installation Notes Please visit the S32DS for ARM product page - download section 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 S32DS Public NXP Community space: https://community.nxp.com/community/s32/s32ds    
View full article
Dear S32DS users, S32 Design Studio for Power v1.1 Update 1 has been released.  The Offline update package could be downloaded here:   https://www.nxp.com/webapp/Download?colCode=S32DS_PA_v1.1_UP1&appType=license&location=null&Parent_nodeId=14320533561557…    For online installation please select predefined NXP repository "Help" -> "lnstall New Software..." dialog:  ${p2.metadata.repo.name} - http://www.nxp.com/lgfiles/updates/Eclipse/S32DS_POWER_1_1/com.freescale.s32power.updatesite       The list of changes:  new compiler build 1.1.3 – see details in compiler release notes (attached) MS Visual C++ 2010 Redistributable x86 included for SPT tools for Windows 10 Updated SPT tools: ENGR00381373 - Error build after Generate SPT Fixed ADD, SUB, CMP when destination register is different from src1 ENGR00380758 64 bits operands are not supported for spt2 on windows  Updated Examples  New SPT1 example for MPC5775K o SingleElf_MPC5748G launch files updated with GDB command "set architecture powerpc:vle" Graph Tools ENGR00380255 [SPT] default graph should be created with standard includes Bug fixes: ENGR00375995 MPC5746C Embsys register definitons are missing SPI register set ENGR00379744 SPT assembler shall have initialized 'Include paths (-I) options after MPC577xK or S32R274 project creation ENGR00380796 Linker files section .spt should be corrected for SPT1/SPT2
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
******************************************************************************** * 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
Hello,   The new official release of S32DS for ARM v1.2 is available in the download section of S32DS web page: http://www.nxp.com/s32ds       To  install the product the Activation Code is needed. You can Find it under "License keys" tab.   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/10 (32/64 bit) and Linux versions as well.   S32DS ARM v1.2 main features Free of charge tool with no code size limitation (no license file required) Eclipse Luna 4.4 Framework GNU Tools for ARM embedded processors (launchpad, based on gcc 4.9.3) and ARM64: 4.9.3 20141031 Linaro Libraries included: newlib, newlib-nano and Freescale EWL2 (ewl and ewl-nano) SEGGER J-Link (with SEGGER GDB Server), P&E Multilink (with P&E GDB Server) Fully integrated S32 SDK for S32K144 EAR release v.0.8.1 SDK management included (KEA drivers, FreeMASTER for KEA, AMMCLIB for KEA and S32K) CodeWarrior/KDS project importer GreenHills/IAR compiler support by the new Project Wizard iSystem/Lauterbach debuggers support by the new Project Wizard Kernel Aware Debugging FreeRTOS, OSEK. Devices supported SKEAZN8, SKEAZN16, SKEAZN32, SKEAZN64, SKEAZ128, SKEAZ64 S32K144 S32V234 MAC57D54H   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.     * Red items are the new features   Regards, Stanislav  
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
      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
Installation & Activation HOWTO: Activate S32 Design Studio  HOWTO: Install Lauterbach TRACE32 debugger plug-in into S32 Design Studio  Create a New Project  HOWTO: Create APEX2 Project From Example in S32DS for Vision  HOWTO: Create An ISP Project From Example in S32DS for Vision  HOWTO: Create A53 Linux Project in S32DS for Vision  HOWTO: Create An ISP Project From Existing VSDK Graph in S32DS for Vision  HOWTO: Create A New Makefile Project With Existing Code From NXP Vision SDK Example Project   HOWTO: Build a Project and Setup a Debug Configuration for debugging in S32 Design Studio  HOWTO: Create A53 APEX2 and/or ISP Linux Project in S32DS for Vision DDR Configuration & Validation and Stress Test Tools HOWTO: Use DDR Configuration and Validation Tool  HOWTO: Use DDR Stress Test Tool  Hardware Setup HOWTO: Setup S32V234 EVB for debugging with S32DS for Vision and Linux BSP HOWTO: Prepare and boot S32V234 EVB from eMMC  HOWTO: Setup static IP address for S32 debug probe  Debugging HOWTO: Setup S32V234 EVB for debugging with S32DS for Vision and Linux BSP  HOWTO: S32V234-EVB debugging with Linux and gdbserver on target machine  HOWTO: Start Debug on an ISP Application Project with S32 Debugger and S32 Debug Probe  HOWTO: Start Debug on an APEX2 Application Project with S32 Debugger and S32 Debug Probe  Debugging the Startup Code with Eclipse and GDB | MCU on Eclipse   VSDK HOWTO: Change Vision SDK root in S32DS for Vision  HOWTO: Create A New Makefile Project With Existing Code From NXP Vision SDK Example Project  HOWTO: Prepare A SD Card For Linux Boot Of S32V234-EVB Using BSP From VSDK  Linux HOWTO: S32V234 EVB Linux - Static IP address configuration  HOWTO: S32V234 EVB Linux - DHCP IP address setup  HOWTO: Prepare A SD Card For Linux Boot Of S32V234-EVB Using BSP From VSDK  HOWTO: Access Linux BSP file system on S32V234-EVB from S32DS for Vision HOWTO: Setup A Remote Linux Connection in S32DS for Vision  General Usage HOWTO: S32 Design Studio Command Line Interface  HOWTO: Add user example into S32DS  HOWTO: Generate S-Record/Intel HEX/Binary file  HOWTO: Update S32 Design Studio  Troubleshooting Help! I just relaunched S32DS for Vision and my visual graph is collapsed!  Help! I just updated to new version of S32DS and now my projects have errors and I can't build!  Troubleshooting: PEmicro Debug Connection: Target Communication Speed  Troubleshooting: Indexer errors on header file  S32 Design Studio Offline activation issue hot fix  https://community.nxp.com/docs/DOC-345238 
View full article
The FreeMASTER serial communication driver is a piece of code that enables an embedded application to communicate with the FreeMASTER PC application. Please note: The FreeMASTER_S32xx does not support all Toolchains and not all versions of supported Toolchains. The available SDKs will vary depending upon the toolchain which is selected. It is independent of the S32/MPC SDKs. In most cases, it is not integrated with the S32/MPC SDKs, although this could change in the future. When creating a new S32DS Application Project, you may have noticed the FreeMASTER_S32xx SDK option in the Select SDK menu. To add the FreeMASTER 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 desired SDK from the list, 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 '+', making it disappear. It should also be noted that there exists example projects which demonstrate usage of the FreeMASTER serial communication driver, though these do not use the FreeMASTER SDK, the driver was added manually. 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 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 FreeMASTER serial communicating!
View full article
        Product Release Announcement Automotive Microcontrollers and Processors S32 Design Studio for Power Architecture 2017.R1         The Automotive Microcontrollers and Processors’ Embedded Tools Team at NXP Semiconductors, is pleased to announce the release of the S32 Design Studio for Power Architecture version 2017.R1. It is the successor of S32 Design Studio for Power v1.2. - the versioning scheme has changed. Release content (What is new?) Eclipse Neon 4.6 Framework GNU Build Tools for e200 processors (support VLE and BookE ISA, based on gcc 4.9.4 [7.October 2017], binutils 2.28 and gdb 7.8.2) - see the complete GCC release notes Libraries included: newlib, newlib-nano and Freescale EWL2 P&E Multilink/Cyclone/OpenSDA (with P&E GDB Server) - updated (v1.7.2.201709281658) New Project wizard to create application and library projects for supported devices Peripherals Register and Special Purpose Registers View Fully integrated MPC5748G/MPC5746C SDK EAR v.0.8.1. For the details on the feature set of SDK please refer to SDK Release notes attached and Reference Manuals (Please note that SDK has Early Access Release status, which means that there could be some limitations and/or issues. Also note, the SDK is available for Windows host only). SDK management included: o FreeMASTER Serial Communication driver (v2.0 August 31th 2016) o Automotive Math and Motor Control Libraries(v1.1.9) Windriver Diab compiler support by new project wizard Lauterbach, iSystem, and PLS debuggers support by new project wizard (The plugins to support Diab, iSystem, Lauterbach are not included and have to be installed from the corresponding update site or installation. The current version of the GreenHills plugin is not compatible with Eclipse Neon version, so it should not be used with this release) Kernel Aware debugging for FreeRTOS, eCOS, OSEK Devices supported: S32R274 S32R372 MPC5775K, MPC5774K MPC5746R, MPC5745R, MPC5743R MPC5777M MPC5777C MPC5748G, MPC5747G, MPC5746G MPC5744B, MPC5745B, MPC5746B, MPC5744C, MPC5745C, MPC5746C MPC5744P, MPC5743P, MPC5742P, MPC5741P MPC5601P, MPC5602P, MPC5603P, MPC5604P MPC5644B, MPC5644C, MPC5645B, MPC5645C, MPC5646B, MPC5646C MPC5601D, MPC5602B, MPC5602C, MPC5602D, MPC5603B, MPC5603C, MPC5604B, MPC5604C, MPC5605B, MPC5606B, MPC5607B MPC5606S MPC5604E MPC5644A, MPC5642A MPC5643L MPC5676R MPC5632M, MPC5633M, MPC5634M MPC5674F MPC5673K, MPC5674K, MPC5675K Collateral Getting Started page Bug Fixes C preprocessor tool added for C++ projects configuration The makefile generation is updated to fix and issue with building a project on the Korean version of Windows - Code page switch command cannot be executed. The Rename Project functionality is improved to cover referenced projects and launch configurations Complete S32 Design Studio for Power Architecture 2017.R1 release notes are available here Installation Notes To download the installer please visit the S32DS for Power Architecture product page: downloads section. The installer requires the the NEW Activation ID to be entered during the installation. You should receive an email that includes your Activation ID after starting the installer downloading process: Technical Support S32 Design Studio issues are tracked through the S32DS Public NXP Community space: https://community.nxp.com/community/s32/s32ds    
View full article
      Product Release Announcement Automotive Microcontrollers and Processors S32 Design Studio for ARM® 2018.R1  Update 7          What is new? S32K1xx SDK BETA 2.9.0 supporting S32K116, S32K118, S32K142, S32K144, S32K146, and S32K148.  Also included is AMMCLIB 1.1.13 for S32K11x and S32K14x. 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) 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
S32DS ARM2.2 K144xx fPic Example description. Provided example demonstrate possibility of creation Position Independent Code using  standard  S32DS ARM 2.2 tools.  Example code blink RGB LED using svc interrupt handler. Output  picExample.bin should be loaded via restore gdb command only into existing K144 RAM area(0x1fff8000 – 20007000 for EVB board), then pc set to startup value.(see picExample_Debug_RAM_PNE_fpic  Debug configuration). Note: restore gdb command needs absolute path to *.bin file. Example is based on standard K144 application. Changes: -fPIC option should be set(Project->Properties->C/C++ Build ->Settings->Standard S32DS Compiler->Miscalenous->Position Independent Code). Create flash image checkbox should bes set.( Project->Properties->Cross Settings -> Create flash image). Flash Image output file format  should be set to Raw binary(Project->Properties->C/C++ Build ->Settings->Standard S32DS Create Flash Image ) Add -nostdlib linker option(Project->Properties->C/C++ Build ->Settings->Standard S32DS Linker->General ->No startup or default libs). Existing S was modified(stack pointer was corrected, bl instead of blx for function calls was used. Standard linker script was modified(see example) Interrupts vector table was moved to data area. Due to this vector addresses are corrected on startup by FixGot routine(see SystemInit()c) Common RAM area was declared starting from 0. __got_start and __got_end were declared in Global Offset Table   For an in-depth analysis and step-by-step guide on the topic of implementing position-independent code, please see the following blog at mcuoneclipse.com: Position-Independent Code With GCC for arm Cortex M 
View full article
The S32K3 RTD 2.0.0 lacks SIUL2 external interrupt function. Siul2_Icu is part of Icu(Input Capture Unit), the main function of the example should have been: use the Icu and Dio drivers to toggle a LED on a push button. But it doesn't. So this document will show the step-by-step process to add 'SIUL2 external interrupt' function in Siul2_Port_Ip_Example_S32K344 using the S32K3xx RTD LLD(Low Level Driver) and the S32 Configuration Tools. This example is for the S32K3X4EVB-Q257, connected to a PC through USB (OpenSDA) connection. Preparation Setup the software tools Install S32 Design Studio for S32 Platform Install the S32K1xx development package and the S32K1 RTD AUTOSAR 4.4. Both of these are required for the S32 Configuration Tools. Launch S32 Design Studio for S32 Platform Procedure 1. Import Siul2_Port_Ip_Example_S32K344 example File->New->S32DS Project from Example It can be seen that in the Icu (Input Capture Unit Driver) folder of S32K3 RTD 2.0.0, there are only interrupt routines implemented by the Emios module for the time being, and external interrupt routines for the EIRQ pin of the Siul2 module does not exist. Here we import the Siul2_Port_Ip_Example_S32K344 routine, and add the Siul2_Icu part on this basis.   2. Add push button and LED in Pins tool Add the pins for user buttons (SW4 PTB26 SIUL2 eirq13) according to the S32K3X4EVB-Q257.   3. Add IntCtrl_Ip component Go to Peripherals tool. Here we can see that the ‘Siul2_Dio’ and ‘Siul2_Port’ components are already added. From the Components view, click on ‘Add a new configuration component…’ button from the Drivers category. This will bring up a list of non-AUTOSAR components. Locate and then select the ‘IntCtrl_Ip’ component from the list and click OK. Option 1: Keep the default setting after add ‘IntCtrl_Ip’ component(Here we didn't change the settings of ‘IntCtrl_Ip’, nor use IntCtrl_Ip_Init and IntCtrl_Ip_ConfigIrqRouting API to enable interrupts and install handlers in IntCtrl_Ip).This routine only uses one interrupt, so we will call IntCtrl_Ip_InstallHandler and IntCtrl_Ip_EnableIrq those two APIs to install and enable the SIUL2 EIRQ13 IRQ separately. Option 2: User can enable many interrupts in the Interrupt Controller configuration(Note user can only add one interrupt controller configuration in the RTD); Meanwhile, it can set interrupt’s priority separately. The two APIs IntCtrl_Ip_Init and IntCtrl_Ip_ConfigIrqRouting can initialize these interrupts as a whole. The name of the Handler in the Generic Interrupt Settings tab needs to be the same as the name in peripheral_Ip_Irq.c of the corresponding peripheral. For example, this routine uses the PTB26 SIUL2 EIRQ13 external interrupt, which can be found in RTD/src/Siul2_Icu_Ip_Irq.c: ISR(SIUL2_EXT_IRQ_8_15_ISR) According to the "Table 35" of S32K3XXRM reference manual, we can see the SIUL2 EIRQ13(PTB26) external interrupt used in this routine belongs to SIUL_1_IRQn and the Handler name SIUL2_EXT_IRQ_8_15_ISR.   4. Add Siul2_Icu component Click on ‘Add a new configuration component…’ button from the Drivers category. Locate and then select the ‘Siul2_Icu’ component from the list and click OK. Step 5 select SIUL2_0_IRQ_CH_13 because this routine selects the onboard SW4 PTB26 SIUL2 EIRQ13 external interrupt (the onboard SW5 PTB19 pin has no EIRQ external interrupt function, so I did not added here). Step 6 set DIRER0[EIREn] to enable this external interrupt pin. Step 8 set the IFCPR[IFCP] filter clock prescaler. Step 10 input 13 for the Hardware channel due to we use SIUL2 EIRQ13. Step 11 set IFER0[IFEn] to enable the glitch filter for the external interrupt pin. Step 12 set IFMCRn[MAXCNT] to assign value to the external interrupt filter counter. Step 14 select the IcuSiu2Channel_0 channel configured in the IcuSiul2 tab above. Step 15 select the ICU_RISING_EDGE according to the SW4 button circuit (press to generate a rising edge). Step 16 Because the SIUL2 EIRQ external interrupt is used in this routine, ICU_MODE_SIGNAL_EDGE_DETECT mode must be selected. Step 17 add the corresponding callback function name. That is, it corresponds to the notification after the SIUL2 EIRQ external interrupt pin captures the rising edge (the interrupt flag does not need to be cleared here, the driver has already been implemented it).   5. Include the headers for the drivers used in the application #include "Siul2_Icu_Ip.h" #include "IntCtrl_Ip.h"   6. Add Siul2_Icu LLD APIs Siul2_Icu_Ip_Init is used to initialize all Siul2_Icu channels generated by the S32 Configuration Tools (this routine only configures the channel SW4 PTB26 SIUL2 EIRQ13). Siul2_Icu_Ip_EnableInterrupt enable Siul2 IRQ interrupt for the specified channels. Siul2_Icu_Ip_EnableNotification enable callback function of Siul2 IRQ interrupt for the specified channels. This routine uses the SW4 button to trigger the PTB26 SIUL2 EIRQ13 external interrupt callback function SW4_eirq13_PTB26_Callback to flip the PTB18 D33 red LED.   7. Add IntCtrl LLD APIs IntCtrl_Ip_InstallHandler installs the SIUL2_EXT_IRQ_8_15_ISR interrupt handler generated by the S32 Configuration Tools. IntCtrl_Ip_EnableIrq enables the corresponding interrupt. Why input SIUL_1_IRQn and SIUL2_EXT_IRQ_8_15_ISR has been explained at the end of "4. Adding the IntCtrl_Ip component" above. References - S32K3xx Pins and Clocks with RTD - Training - AN13435: SDK/MCAL to Real-Time Drivers - Integration Manual for S32K3 ICU Driver (RTD_ICU_IM.pdf) - User Manual for S32K3 ICU Driver (RTD_ICU_UM.pdf) - Integration Manual for S32K3 PLATFORM Driver (RTD_PLATFORM_IM.pdf) - User Manual for S32K3 PLATFORM Driver (RTD_PLATFORM_UM.pdf)
View full article