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:
        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 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
Online update In standard situation update can be started by clicking on message box appeared after S32DS Launch: If you don't see such message - you can check for updates/update your S32DS Installation manually. On main menu bar click on Help -> S32DS Extensions and Updates  Select from available items, then click "Install/Update" button  Offline update   Download update package from Updated/Patches (for S32DS 3.x - S32 Design Studio | NXP , for ARM S32DS - S32 Design Studio IDE for Arm® based MCUs|NXP, for Power Architecture S32DS - S32 Design Studio IDE for Power Architecture based MCUs | NXP ). Click on Help -> S32DS Extensions and Updates and choose Go to Preferences.   Click Add... Click Archive... and locate the zip file you downloaded and click OK Select the packages and updates then start the installation with the Install/Update button. 
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
**************************************************************************************** IDE: S32 Design Studio Version 3.4 Workspace: C:\Projects\S32DS_3_4 Project name: S32K314_00_blank_00 Project location: C:\Projects\S32DS_3_4\S32K314_00_blank_00 **************************************************************************************** 1. After you finish the edit on your codes, please close S32DS 2. Input the command(as below) at your clean_and_build_s32k3_commandLine.bat 3. Run command prompt with Administrator right. 4. Run clean_and_build_s32k3_commandLine.bat at command prompt   You will get the *.elf under the folder of C:\Projects\S32DS_3_4\S32K314_00_blank_00\Debug_FLASH Cheers! Oliver
View full article
Requirements:  SD card with installed Linux image connected to EVB (HOWTO: Prepare A SD Card For Linux Boot Of S32V234-EVB Using BSP From VSDK ) Serial link connection between PC and EVB (HOWTO: Setup A Remote Linux Connection in S32DS for Vision ) Static IP address on PC machine Network connection between PC and EVB Use case: This settings is useful when you don't have DHCP server available or for some reason you can't connect EVB into existing network - like on this scenario:  Procedure: Setup static IP address on your PC machine - (Windows 7) click on Start -> Control Panel -> Network and Sharing center. On the left side click on "Change adapter settings" Select network interface connected to EVB ( Local area connection ) and choose "Internet protocol Version 4 (TCP/IPv4)" option and click on Properties button.   Select "Use the Following IP address" radio button and enter IP address for PC side of network connection and click on OK button.    Turn on EVB and connect to EVB via serial link using putty or any other terminal (115200 baud, 8N1). Login as the root user. Edit network interfaces configuration file by command vi /etc/network/interfaces and modify (press INS key to switch vi editor to edit mode) the file by the way as shown on next screenshot. Set IP address from range of your PC machine network settings.  Save new settings by :w command (press ESC key to switch vi editor to command mode) and exit from vi by :q command. Restart network by command /etc/init.d/networking restart  Check the IP address by command ifconfig and try ping to your PC machine.  Troubleshooting: If you can't ping to PC machine and IP address is the same as you requested - check IP address on PC side and cable connection.  If the IP address on EVB is different than you requested - check if you commented out the dhcp configuration. You may also try to reboot EVB instead of restarting network only. 
View full article
      Product Release Announcement Automotive Microcontrollers and Processors S32 Design Studio for Power Architecture 2017.R1 Update 10          What is new? S32 SDK for Power Architecture 2.9.0 BETA supporting  S32R274, S32R372, MPC574x-B-C-G, MPC574x-P, MPC574x-R and MPC577x-B-E-C (see the S32 SDK release notes) Updated version of GCC 4.9.4 tools AMMCLIB version 1.1.15 (see the AMMCLIB MPC574xP example release notes) Updated version of SPT tools for SPT 2.5 Updated version of P&E 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 ). 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
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
1. Build the project. a. Select the build configuration. (optional) b. Click on Build. c. Check there are no compiler errors. 2. Configure the debug configuration to start a debug session. a. Click down arrow next to Debug button. b. Select 'Debug Configurations…' c. Select the debug configuration associated with your current build configuration. d. Select whether to rebuild code each time debug session start is requested. e. Click on Debugger tab. f. Verify proper interface and port. 3. Click Debug
View full article
CAN communication is supported in the latest version of MPC5777C Bootloader .rbf file (attached below) + Supported UART0/eSCI_0(J20 on DB): GPIO89-90 pins(Speed: 115200b/s) + Supported  MCAN0(J5 on MB):  GPIO83-84 pins(Speed: 500Kb/s)   Tested on the dev board:   Motherboard MPC57xxMB Development Board X-MPC5777C-516DS Processor SPC5777CDMMO3 3N45H Also included is a version of the .rbf file where the delay before app start is 1 second (instead of 3 seconds)
View full article
This tutorial walks a user through the steps to create a new application for the S32V234 MCU using S32DS for Vision and the built in ISP Visual Graph tool. The completed application will take an image from camera, processes it on ISP and put the processed image in DDR buffers. Once the image is in DDR buffer, host (A53 core running Linux) will direct the display control unit (DCU) to display it on screen. Prerequisites: Some knowledge of the S32V234 System on a Chip (SoC) Have an understanding of the ISP architecture Be familiar with the NXP Vision SDK software Looking for Interactive Tutorial? You can view this tutorial as a video: S32 Design Studio: Getting Started – ISP Graph Tool Tutorial
View full article
There are situations that require debugging multiple executable files within one debug session. Typical example is debugging the bootloader + application together where each one is a separate executable elf file or S32DS eclipse project. S32DS project loads the debug information of the generated executable file by default. Anyway GDB supports command to add additional elf files debug information into same debug session. If the executable source files are present on the same machine then the source level debugging of all the elf files is possible. Let's assume there are two elf files (bootloader and application) and both are built with debug information enabled - build configuration is named "Debug". Generation of the debug information for GCC compiler could be set in the Project Properties -> C/C++ Build -> Settings -> Standard  S32DS C Compiler -> Debug Level  Each debug configuration in S32 Design Studio supports loading or ignoring debug information. "Load symbols" loads just the debug information whereas "Load executable" basically loads program/code/data sections into MCU memory without debug information. Both options are enabled by default. Before starting the debugger it's necessary to load both executable files into your MCU memory. This could be easily achieved in S32DS (GDB) debug configuration where you specify to add the additional object files. In this specific case we need just 1 additional file - bootloader elf. The bootloader project in this example is actually another project in the same workspace (workspace relative path to elf file entered). After starting debugger the Debugger Console view now shows the details about programming of two elf files instead of one including load address of each section. When loading is finished the debug information for bootloader is not yet available ("No source available..." message displayed in the source level debug view) In order to display source and symbols for the bootloader elf please enter "add-symbol-file"  GDB command into Debugger Console View: add-symbol-file "C:/Users/NXA21306/workspaceS32DS.ARM.2018.R1/s32K144_Bootloader/Debug/s32K144_Bootloader.elf" 0x0000000‍‍‍‍‍ The GDB client command could be executed automatically when launching a debug session: The first argument is path to the elf file and the second argument (0x00000000) is the load address of the elf file (see the first bootloader load address ). Finally the debug session needs to be refreshed in order to display changes from just added symbol file. The refresh can be forced by performing a single step or issuing the target reset from the debugger.
View full article
PEmicro’s debug configuration allows user to modify JTAG communication shift frequency between debug interface and the target. By default, this frequency is set to a maximum value of 5000KHz, to take advantage of the fastest run control and FLASH programming experience: At the same time, not every PowerPC processor might be able to support highest debug shift frequencies with all PEmicro debug interfaces. For example, debug frequency for MPC5634M board used in conjunction with Multilink Universal FX RevC , needs to be lowered to 4000Khz in order to succeed. Hence, if debug session fails to successfully start up or fails on FLASH programming, lowering a debug shift frequency by a factor of 2 or 4 is the first trouble shooting recommendation. To get to PEmicro’s debug configuration window, one should select “Debug Configuration” from the menu next to a debug icon, and switch over to the Debug tab, within “Debug Configuration” menu pop- up.
View full article
To prepare an SD card for a Linux boot, it is necessary to connect the SD card to a machine with Linux OS. If a Linux OS machine is not available, then a virtual machine installed to a Windows OS machine may be used. If you have access to a Linux OS machine, skip to step 4. Procedure 1) Download and install a virtual machine VMware Workstation Player Virtual Box 2) Download Ubuntu. This tutorial uses the Ubuntu version 14.04.5.  The image will be ubuntu-14.04.5-desktop-amd64.iso. 3) Launch VMware or Virtual Box and create a new virtual machine Use downloaded Ubuntu image when requested for installer disc image file Hit Next and select Linux as the guest operating system and select Ubuntu for the version. Hit Next and name your virtual machine and specify where you want to store it. Increase the disk size to 40 GB Hit Finish and install VMware Tools for Linux, if asked 4) Within C:\NXP\S32DS_Vision_v2.0\S32DS\s32v234_sdk\os extract 'build_content.tar.gz', then extract 'build_content.tar' and navigate to the 'v234_linux_build' folder 5) Start virtual machine May need to manually connect USB-mounted SD card reader Log in to virtual machine 6) In files, go to 'Home' directory and create a folder "VSDK" 7) Within VSDK folder, copy the files image, u-boot.s32, s32v234-evb.dtb, and rootfs.tar from the 'v234_linux_build' folder.  Note: The file s32v234-evb.dtb and u-boot.s32 will have names with XXXXX-suffix for the schematic number printed on the evaluation board (EVB) you are using. Be sure to use the files which correspond to your EVB. 😎 Load the card into the reader. If you are using a virtual machine, it is recommended to use a USB adapter instead of a built-in reader in the PC. 9) Within the virtual machine, launch the terminal program 10) Within the terminal program, enter command 'cat /proc/partitions' to view the names of the partitions and identify the names of the partitions on your SD card. Perhaps it is named 'sdb'. 11) Delete all existing partitions.    a) Enter command 'sudo fdisk /dev/sdb'.    b) Enter command 'd' and then the number of the partition to delete. Repeat as necessary until all partitions have been deleted 12) Create new partitions    a) Enter command 'n' for new    b) Enter 'p' (or just hit <enter>, as this is the default) for primary    c) Enter '1' (or just hit <enter>, as this is the default) for partition number 1.    d) Press <enter> to select the default value for the First sector    e) Enter '+255M' to set the size    b) Enter command 'n' again, for partition number 2, however, press <enter> to select the default value for the 'Last sector' 13) Set the partition type    a) Enter command 't' for type    b) Enter '1' for partition number 1    c) Enter 'c' for partition type FAT32    d) Enter command 't' again, for partition number 2, however, enter '83' for partition type LINUX If you get error 16: Device or resource busy, as shown above, use commands 'umount /dev/sdb1' and 'umount /dev/sdb2' to free the pre-existing partitions. Then try again and should be ok now 14) Write the new configuration, enter 'w' 15) Try to setup the filesystems. Enter 'sudo mkfs.vfat -n boot /dev/sdb1'. If you get the error '/dev/sdb1 contains a mounted filesystem', you will need to unmount the partition first. To save time, unmount both /dev/sdb1 and /dev/sdb2. Enter 'umount /dev/sdb1' and then 'umount /dev/sdb2' Now try 'sudo mkfs.vfat -n boot /dev/sdb1' again 16) It worked, so now enter 'sudo mkfs.ext3 -L rootfs /dev/sdb2'. It will take a minute or two for this to complete. Wait until you get the command prompt again. 17) Now it's time to load the BSP content from the VSDK. But first, change the directory to the one we created earlier for the BSP files. Enter 'cd /home/user/VSDK' or 'cd VSDK'. Enter the following commands: sudo dd if=u-boot.s32 of=/dev/sdb bs=512 seek=8 conv=fsync sudo cp Image /media/user/boot sudo cp s32v234-evb.dtb /media/user/boot 18) Now we need to extract the root filesystem, change the directory to its location 19) Enter command 'sudo tar -xvf /home/user/VSDK/rootfs.tar' 20) Once the files are extracted, enter command 'sync'   Now the SD card is ready to be used in the S32V234-EVB.
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
There are a number of existing ISP Graph diagrams provided within the VSDK. It is possible to import them into S32DS for Vision and use them in a new C/C++ project. The steps to do this are detailed in this document. 1) Launch S32DS for Vision 2) Select File -> New -> S32DS Application Project or select "S32DS Application Project" from the toolbar. 3) Enter a project name, such as: ISP_ISP_Generic_demo 4) Select 'A53 APEX/ISP Linux' 5) Click Next 6) Unselect the APEX2 options and 'ISP Visual Modeling' option. 7) Click Finish 😎 Select File -> New -> S32DS Project from Example or select "S32DS Project from Example" from the toolbar. 9) Select isp_generic. 10) Select Finish 11) Open isp_generic in the project explorer 12) Double-click ISP data flow ; isp_generic. The ISP data flow graph will appear in the editor 13) Define a new configuration for emitting code from the graph       a) Create a folder in the application project to receive the emitted code. Right-click on the application project and select New -> Folder.       b) Enter a name for the folder and click Finish       c) Right-click in the ISP data flow window and select Emit As -> Emit Configurations...       d) Select ISP Emitter       e) Select New Launch Configuration       f) Enter a name       g) Select the graph, Browse Workspace       h) Expand each item until you can select the .isp file. Click OK       i) Select the location of the emitted output to the application project, select Browse Workspace       j) Select the name of your application project, then OK       k) Write A53_gen to the Dynamic sequences sources folder box. This is the folder within the target project that generated code will be stored. Check the box for Emit host code.       l)Now select the location to store the configuration file. Go to the Common tab, select Shared file and click Browse       m) Select the folder name you created earlier inside ISP_ISP_Generic_demo and click OK       n) Click Apply and Emit. Dialog box will appear when code generation is successful              o) Expand the folders within ISP_ISP_Generic_demo, A53_gen, src and inc, to see the newly generated output files 14) Change to C/C++ perspective, click on ‘C/C++ Development’ 15) Build the project 'ISP_ISP_Generic_demo' for ISP 16) Open file 'ISP_ISP_Generic_demo/A53_inc/isp_user_define.h' and change '#define __DCU_BPP' to "#undef __DCU_BPP" 17) Using the method detailed in steps 8 - 10, create the example project 'isp_sonyimx224_csi_dcu'. Take from this project the file 'isp_sonyimx224_csi_dcu/A53_src/main.cpp' and use it to replace the file 'ISP_ISP_Generic_demo/A53_src/main.cpp' in the current project. Then make the following modifications:  On line 40, change <#include "mipi_simple_c.h"> to <#include "isp_generic_c.h">. On line 303, change <gpGraph_mipi_simple> to <gpGraph> AND <gGraphMetadata_mipi_simple> to <gGraphMetadata> On line 330, change <FDMA_IX_FastDMA_Out_MIPI_SIMPLE> to <FDMA_IX_ISP_OUTPUT>. Please see C:\NXP\S32DS_Vision_v2.0\S32DS\s32v234_sdk\docs\drivers\SDI_Software_User_Guide.pdf for details on what this code is for. 18) In Project Explorer, right-click on "...\A53_gen\src\isp_process.cpp" and select Build path -> Remove from -> A53 19) Select 'ISP_ISP_Generic_demo:A53' in the Project Explorer panel, then Build for A53 20) Run it remotely on the target using the method fromHOWTO: Create A53 Linux Project in S32DS for Vision. Should get results similar to this:
View full article
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!
View full article
This document describes how to link a binary file(s) with an existing project in S32 Design Studio using GCC build tools. Let's demonstrate this on S32K144 project in S32DS for ARM. Nevertheless it should work with any other GCC based development tools. The first step is to add the binary file(s) into your project folder in the workspace. In the example below I created two binary files "my_bin.bin" and "my_bin2.bin" and added them into a custom folder "bin_files". I also entered 10 characters into each file. my_bin.bin: 0x41 0x41 0x41 0x41 0x41 0x41 0x41 0x41 0x41 0x41  (represents 10 characters "A") my_bin2.bin: 0x42 0x42 0x42 0x42 0x42 0x42 0x42 0x42 0x42 0x42  (represents 10 characters "B") The next step is to modify the linker configuration file (.ld) in order to specify input file format and path to the binary files (see the line 14-17) /* Specify the memory areas */ MEMORY { /* Flash */ m_interrupts (RX) : ORIGIN = 0x00000000, LENGTH = 0x00000400 m_flash_config (RX) : ORIGIN = 0x00000400, LENGTH = 0x00000010 m_text (RX) : ORIGIN = 0x00000410, LENGTH = 0x0007FBF0 /* SRAM_L */ m_data (RW) : ORIGIN = 0x1FFF8000, LENGTH = 0x00008000 /* SRAM_U */ m_data_2 (RW) : ORIGIN = 0x20000000, LENGTH = 0x00007000 } TARGET(binary) /* specify the file format of binary file */ INPUT (..\bin_files\my_bin.bin) /* first bin file path (relative to the output folder)*/ INPUT (..\bin_files\my_bin2.bin) /* second bin file path (relative to the output folder)*/ OUTPUT_FORMAT(default) /* restore the out file format */ /* Define output sections */ SECTIONS { ... ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ Finally, in the SECTIONS block of .ld file specify where to place the binary files (in the example it is placed at the end of .text section - see the line 37,38). /* Define output sections */ SECTIONS { /* The startup code goes first into internal flash */ .interrupts : { __VECTOR_TABLE = .; __interrupts_start__ = .; . = ALIGN(4); KEEP(*(.isr_vector)) /* Startup code */ __interrupts_end__ = .; . = ALIGN(4); } > m_interrupts .flash_config : { . = ALIGN(4); KEEP(*(.FlashConfig)) /* Flash Configuration Field (FCF) */ . = ALIGN(4); }> m_flash_config /* The program code and other data goes into internal flash */ .text : { . = ALIGN(4); *(.text) /* .text sections (code) */ *(.text*) /* .text* sections (code) */ *(.rodata) /* .rodata sections (constants, strings, etc.) */ *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ *(.glue_7) /* glue arm to thumb code */ *(.glue_7t) /* glue thumb to arm code */ *(.eh_frame) KEEP (*(.init)) KEEP (*(.fini)) . = ALIGN(4); ..\bin_files\my_bin.bin /* First binary file */ ..\bin_files\my_bin2.bin /* Second binary file */ } > m_text ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ After successful compilation and link let's check map and s-record file (HOWTO: Generate S-Record/Intel HEX/Binary file ) to confirm the binary files have been linked correctly: .glue_7t 0x0000080c 0x0 linker stubs *(.eh_frame) *(.init) *(.fini) 0x0000080c . = ALIGN (0x4) ..\bin_files\my_bin.bin() .data 0x0000080c 0xa ..\bin_files\my_bin.bin 0x0000080c _binary____bin_files_my_bin_bin_start 0x00000816 _binary____bin_files_my_bin_bin_end ..\bin_files\my_bin2.bin() .data 0x00000816 0xa ..\bin_files\my_bin2.bin 0x00000816 _binary____bin_files_my_bin2_bin_start 0x00000820 _binary____bin_files_my_bin2_bin_end .vfp11_veneer 0x00000820 0x0 .vfp11_veneer 0x00000820 0x0 linker stubs‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ If you need a reference to the binary file block start/end address in your code you can use the linker symbols generated automatically or you can define your own symbols in the linker script. /* declare symbols from linker script file */ extern unsigned int _binary____bin_files_my_bin_bin_start; extern unsigned int _binary____bin_files_my_bin_bin_end; int main(void) { #define COUNTER_LIMIT 100 unsigned int counter = 0; unsigned int * bin_start_ptr; unsigned int * bin_end_ptr; bin_start_ptr = &_binary____bin_files_my_bin_bin_start; bin_end_ptr = &_binary____bin_files_my_bin_bin_end; for(;;) { counter++; counter = *(bin_start_ptr); /*loads 0x4141_4141 into counter*/ if(counter > COUNTER_LIMIT) { counter = 0; } } return 0; }‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ Note: if it is intended to place the binary file at specific absolute address (e.g. if binary file that represent bootloader) you have to create a separate custom MEMORY and SECTION block in .ld file. /* Specify the memory areas */ MEMORY { /* Flash */ m_bootloader (RX) : ORIGIN = 0x001000, LENGTH = 0x00010000 /* section for bootloadeer*/ m_text (RX) : ORIGIN = 0x00011000, LENGTH = 0x0040000 /*section for application code*/ ... } TARGET(binary) /* specify the file format of binary file */ INPUT (..\bin_files\my_booloader.bin) /* bootloader bin file path (relative to the output folder)*/ OUTPUT_FORMAT(default) /* restore the out file format */ /* Define output sections */ SECTIONS { /* place the bootloader binary into 0x0..0x10000 */ .bootloader : { ..\binary_files\my_bootloader.bin /* place the binary file here */ } > m_bootloader ... ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ Enjoy linking binaries in S32 Design Studio!
View full article
By defalut is SDK code in examples linked into project. Unfortunately there is no GUI config option, but this settings can be changed in ProcessorExpert.pe file - located in project's root folder.  First of all - backup your project. Locate SDK folder in project and delete all content. When done - close your project.  Open ProcessorExpert.pe file located in project's root folder in any text editor (it is XML file), locate <ProjectStaticFilesGenerationMode> tag and change value from LINKED to STANDALONE: Save changes and open again your project in S32DS. Generate processor expert code:  Now - all SDK code is copied into workspace:  There are also linked files in Project_Settings. Easiest way is just create an empty non SDK project and copy linker script and startup assembly to your project:  Make sure, that Linker uses your copied linker script file: 
View full article
      Product Release Announcement Automotive Microcontrollers and Processors S32 Design Studio 3.3  S32K1xx dev package and S32 SDK for S32K1xx RTM 4.0.0          What is new? S32K1xx Development Package: New Project Wizard support for S32K1xx family, including S32K14xW P&E debugger support for S32K1 family NXP GCC for ARM NXP GCC for Arm version 6.3 build 2017 (same as was used in S32DS for ARM 2.2) S32 SDK for S32K1xx RTM 4.0.0: S32 SDK RTM 4.0.0 package adding support for S32K1xx and S32K1xxW families, cumulative release containing also the changes present in S32 SDK for S32K1xx RTM 3.0.0, 3.0.1, 3.0.2 and 3.0.3 Supports S32 Design Studio for S32 Platform v3.3 with S32 Configuration tools - Pin Wizard, Clock Configuration,... Supports creating project with NXP GCC for Arm Release version 6.3.1, GreenHills Multi and IAR Compiler Examples for supported devices with P&E Debugger and Segger J-link support Migration support for projects created in S32DS for ARM v2.2 (with Processor Expert) For more details, please review the S32SDK_for_S32K1xx_RTM_4.0.0_ReleaseNotes.pdf attached to this notice. See below. Installation instructions The update is available for online (via Eclipse Updater) or offline installation   online installation:  go to menu "Help" -> "S32DS Extensions and Updates" dialog  select from available items and click "Install/Update" button   offline installation:   go to S32 Design Studio v3.3 product download page: S32 Design Studio for S32 Platform -> Downloads, click 'Download' button next to S32DS for S32 Platform v3.3, then select 'S32DS.S32K1.3.3.0_D2006.zip' to download the update archive zip file Start S32 Design Studio and go to "Help" -> "S32DS Extensions and Updates" Add a new "Add.." S32DS Software Site and browse to select the downloaded update archive .zip file you downloaded in the previous step         Select from available items and click "Install/Update" button. This will start the update installation process.
View full article