S32 Design Studio知识库

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

S32 Design Studio Knowledge Base

讨论

排序依据:
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!
查看全文
        Product Release Announcement Automotive Microcontrollers and Processors S32 Design Studio for ARM v2.0 Update 2          What is new? S32 SDK 0.8.5 EAR (S32K142, S32K144, S32K146, S32K148) - see attached release notes for more details   MXQ 4.2 for MAC47D54H - see attached MQX release notes for more details. Installation instructions The update is available for online (via 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  "S32 Design Studio for ARM v2.0 - http://www.nxp.com/lgfiles/updates/Eclipse/S32DS_ARM_2_0/com.freescale.s32arm.updatesite" select all available items and click "Next" button.   offline installation:  go to S32 Design Studio product page -> Downloads section or use the direct download link to download the Update archive file. Start S32DS and go to "Help" -> "Install New Software..." Add a new "Archive" repository and browse to select the downloaded Update archive file you downloaded in the previous step: Select all available items and click "Next" button. This will starts the update installation.
查看全文
      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.
查看全文
There are three methods to run the configuration tool; from S32DS, from Terminal and JTAG, and from command line. S32DS Method 1) Make sure EVB is powered and connected to PC via PEMicro (Universal Multilink) or Lauterbach 2) Launch S32DS for Vision 3) File -> New -> S32V DDR Configuration Project 4) Enter a name for the project, for example 'DDR_Config_test'. Click Next 5) Expand 'S32V' and select 'S32V_234' 6) Click Finish to generate the project with default settings OR if you wish, to view or adjust more project settings, click Next. For this demonstration, we click Next. a. Select which DDR controller to which the settings will be applied. For this demonstration, we leave it at default (1st DDR Controller) b. There is an option to import settings from a file c. Board setting allows you to select from a list of predefined configurations, one for each of the NXP S32V234 evaluation boards i. S32V234_EVB is for LPDDR2 (SCH28899 and SCH28292(old board)) ii. X_TR_DVAL_625 is for DDR3 (SCH28662(old board)) iii. S32V234_NXP_EVB is for SCH29288 (S32V234-EVB2) iv. Custom allows for more options to be selected. See user manual for more detail d. For this demonstration, we select S32V234_EVB e. Click Finish 7) It will take a couple minutes to generate the project. You will get a prompt to pen the S32V DDR Configuration perspective. Click Yes. 😎 Now the project is generated and you can see it listed in the Project Explorer 9) Notice the Components and Component Inspector views of the S32V DDR Configuration perspective. 10) Select the component 'MMDC_0:Init_MMDC from the Components view 11) In the Component Inspector window you can see all of the configuration settings. You can modify the settings here. Changes made to some of the high-level settings may also cause changes to some of the low-level settings. There are some consistency checks that are run automatically after settings are changed which will trigger an error message in the case of an invalid configuration. a. For an example of high-level settings affecting low-level settings, try changing the 'Memory type' from LPDDR2 to DDR3. You can see the Burst Length, Column Address Width, and Row Address Width have changed. b. For an example of a consistency check on an invalid configuration, try changing the CAS Read Latency value (MDCFG0) from 8 to 12 (valid range as displayed with mouse hover tooltip shows 3-11), you will see the error appear. Change back to 8 and error is gone. 12) Open Configuration Registers view. Window -> Show View -> Other -> Processor Expert -> Configuration Registers. This shows how the settings will appear in the memory map. As you change the settings, the values will update here and the affected rows will be highlighted. Try it by changing Column Address Width in MDCTL of the Component Selector window. Likewise, you can try changing the value manually in the Configuration Registers view and see the setting in the Component Selector window update as well. *Hint: enter the name of the view in the search bar to find it quicker 13) Once all changes to the settings are complete, code can be generated. Press the 'Generate Processor Expert Code' button in the Components view. The generated .c and .h file will appear in the 'Generated_Code' folder of the Configuration project. These can be copied into your application project. OR 14) Back in the Component Inspector view, there are tabs for Import and Export settings. The Import settings tab will allow you to import existing settings files, as was also shown in the new project wizard. From the Export settings tab, you can generate a settings file for storage or sharing. The settings files for MMDC_0 and MMDC_1 for each of the supported NXP EVBs are included and can be located in 'C:\NXP\S32DS_Vision_v2.0\eclipse\ProcessorExpert\Optimization\resources\S32V\Boards' and then select the folder for the specific board. The CodeWarrior Register Text format is recommended for these files. 15) Now select the 'Validation' tab (some views, such as Configuration Registers, can be minimized for better view). Here we can execute a validation of the configuration settings we've made. Now is a good time to double check the hardware connections. 16) Select the connection method (either PEMicro or Lauterbach, depending on your setup). We will use System: S32V234; PEMICRO 17) Press 'Connect to Target' 18) Check a box for one of the scenarios. For example, select 'Read Delay Calibration' 19) Select the 'Choose Tests' tab 20) You can select tests from a list. To see the script behind the test, simply double-click on the name. For faster operation, ELF file versions are also provided. 21) Select the tests you wish to execute and press 'Start Validation'. For example select 'Write-Read-Compare-Elf', 'Walking Ones Elf', and 'Walking Zeros Elf'. 22) These tests will try different values and to determine which will work and which will not. After the test is finished, the best values are chosen and written back to the project configuration settings. To see the values change, go to the Properties tab and find 'PHY Read delay-lines Configuration' or restore the 'Configuration Registers' view and see the values changed. 23) For each test, you can see the errors which occurred in the 'Summary' tab, Test results section. There is also Updated configuration registers section which shows the register and the new value which was written to it. For more details on the errors, there is a Log tab which displays the log for each test which was run. Finally there is a Scripts tab which shows the script for each test containing the test settings. Each test box is colored to reflect the result of the test. Clicking on different ones causes the display below to change and show the results for that test. 24) The Write Delay Calibration test scenario is very similar to the Read Delay Calibration test scenario, but instead, the Write delay-lines Configuration will be updated. 25) The Operational DDR Tests run the same tests, but no value in the configuration is changed. You can set it to run for many repetitions to test for stability. Terminal window Method (JTAG) This checks what settings are already uploaded in MMDC module 1) Make sure EVB is powered and connected to PC via PEMicro (Universal Multilink) or Lauterbach (to load test application) AND serial communications via USB cable(for terminal access). 2) In S32DS, create a simple project a. File->New->S32DS Application Project b. Enter name 'test' c. Select S32V234 Cortex-A53 d. Next e. Uncheck boxes for cores 2-4 f. Finish 3) Setup debug configuration a. Run->Debug Configurations… b. Select test_A53_1_PNE c. Change C/C++ Application to C:\NXP\S32DS_Vision_v2.0\utils\ddr_stresstool\ddr-test-uboot-jtag-s32v234.elf d. Select Debugger tab e. Click Advanced Options f. Check box for Enable initialization script g. Browse to find C:\NXP\S32DS_Vision_v2.0\eclipse\plugins\com.pemicro.debug.gdbjtag.pne_3.1.3.201709051622\win32\gdi\P&E\supportFiles_ARM\NXP\S32Vxxx\S32V234M100_DDR.mac h. OK 4) Click Debug. You will see error message indicating the source file could not be found. This is expected. 5) Open terminal (such as PuTTY.exe) and connect a serial line using the USB port you have connected to the EVB, speed set to 115200, 8 data bits, 1 stop bit, and no parity or flow control. 6) Click Resume in S32DS Debugger. 7) In terminal window, you will see the test script has started. 😎 Select the MMDC channel (for example, enter 1 for MMDC1) 9) Select the DDR density (for example, enter 6 for 32MB) 10) Enter 'y' to accept the DDR Calibration 11) Enter 'y' to accept the DDR frequency of 533MHz 12) Wait and watch while the test completes. 13) When the test completes, the results are shown. You will have to manually update your settings from the information displayed. 14) Next you will have the option to run the DDR Stress Test.
查看全文
        Product Release Announcement Automotive Microcontrollers and Processors S32 Design Studio for Vision 2018.R1          Austin, Texas, USA November 23, 2018 The Automotive Microcontrollers and Processors’ Embedded Tools Team at NXP Semiconductors, is pleased to announce the release of the S32 Design Studio for Vision  2018.R1. The S32 Design Studio enablement simplifies and accelerates the deployment of ADAS vision and neural network solutions in automotive, transportation and industrial applications. Here are some of its major features: Release Content S32 Debugger ISP Graph Tool APEX2 Graph Tool NXP GCC Compiler 6.3 NXP Compiler for APU Vision SDK 1.2.0 Complete S32 Design Studio for Vision 2018.R1 release notes are available here. Installation To download the installer please visit the S32 Design Studio product page downloads section or click the direct here. The installer requires the Activation ID to be entered. You should receive a notification email including the Activation ID after the download of the installation package starts. For more information about the product installation see S32DS Vision Installation Manual.   Technical Support S32 Design Studio issues are tracked through the S32DS Public NXP Community space. https://community.nxp.com/community/s32/s32ds  
查看全文
This document shows, how to set optimization level for whole project and how to edit single files with different optimization level. As soon as the project is created, it has set optimization level to 0 by default. This means, compiler do neither size optimization nor speed optimization. Optimization level can be set for every project according to the project requirements. 1) Optimization level set Right click the project and select project properties. Click C/C++ Build ->Settings->Standard S32DS C Compiler ->Optimization. You can see, optimization level is none -O0. Click the arrow on the right side of the list and choose the required optimization level. There are five options you can choose. Details description of the options are included in S32DS reference manual. Chosen optimization is used for all files in the project. 2) Change optimization level for single file in the project If you want to change optimization level for single file and do no affect another files, select required file, right click on it and select properties. As you can see, there are limited possibilities to set the file itself. Select required optimization level, click apply and close the window. Now, selected file has different options than the rest of the project. Hope it helps. Martin
查看全文
This document shows the step-by-step process to create a simple project which recreates the included example 'hello_world_s32v234'. The purpose of this demo is to provide the user with an example application for S32V234 platform, using S32 SDK. The demo toggles two LEDs (PTA8 and PTA9). This HW used in this demo is the SBC-S32V234 EVB, connected to a PC through NXP's S32 Debug Probe or P&E Micro's debug probe. Setup S32 Design Studio 3.1 or later installed AND S32V2xx development package installed SBC-S32V234 EVB connected to power AND switched ON Either S32 Debug Probe OR P&E Micro debug probe connected to the SBC-S32V234 EVB through JTAG connection. S32 Debug Probe connected to PC via either USB cable OR Ethernet cable (also requires power via included power supply and connected to USB port). For more information on HW setup, see HOWTO: Start Debug on an ISP Application Project with S32 Debugger and S32 Debug Probe . P&E Micro debug probe connected to PC via USB cable Procedure Create a new application project for M4 core File -> New -> S32DS Application Project Enter project name, select processor S32V234 Cortex-M4, click Next. Click '...' to select the SDK Select S32V234 SDK v1.0.0 (or later version) Notice the box is now checked for S32 Configuration Tool. The S32 Configuration Tool is dependent upon the S32 SDK. Select either S32 Debugger (default) or PE Micro GDB server. Click Finish The new project appears in the Project Explorer, notice the S32V234_M4.mex file is there as well. This .mex file contains all of the configuration data for the S32 Configuration Tool for this project. After clicking on the project name, the toolbar icon for the S32 Configuration Tool is now active. Click the S32 Configuration Tool button or double-click on the .mex file to open the S32 Configuration Tool perspectives. Notice the new perspective buttons in the toolbar: Go to Pins tool perspective, this is the default perspective that opens when the S32 Configuration Tool is launched. Notice there are errors at the lower right. There is a dependency upon the PINS driver from the S32 SDK. This driver is not mandatory, and while there are some rare cases where the drivers would not be needed, in most cases the user should choose to include them.                                                                                                                            To resolve the error, right-click on the error message to bring up the context menu and then select the option Add SDK component 'PINS' into the project '<project_name>'. After selecting the context menu option, you are presented with a confirmation window to review the list of files which will be added to the project. In this case, the option did not result in any new files, so there is nothing to review. You can check a box to avoid seeing this confirmation window in the future. Click Yes to confirm the changes. Select the Peripheral Signals tab at the upper left of the Pins perspective Check box for SIUL2 In the popup window Peripheral SIUL2, scroll to find gpio, 8 >> [A11] PA8 and gpio, 9 >> [B11] PA9. Check the box next to each. For each pin that is selected, an additional popup menu appears. Set both pins as Output. Then click OK and then Done. Set Identifiers for each as follows Pin Identifier PTA8/A11 LED1 PTA9/B11 LED2 Go to Peripherals tool Select Peripherals tab at upper left, check box to enable MC_ME Click OK. Now the driver is installed. Go to Clocks tool Change the following settings. They are not Run Mode specific. Hovering the mouse pointer over the object in the diagram will produce a tooltip window with information about the object including the name, current setting, output value, etc. Change prescaler ENETPLL_PHI0 (.pll2Config/.phi0Divider) from 2 to 8 Change the setting by first clicking on the prescaler box in the diagram, then clicking on the value in the 'Details' panel to the right. This brings up a list of available values. Select the desired value from the list. Once successfully changed, the values will be highlighted. Alternatively, a double-click on the value inside the prescaler box will bring up a drop list of the values and the selection can be made. Change prescaler VIDEOPLL_PHI0 (.pll4Config/.phi0Divider) from 4 to 2 Change mux AUX0_MUX (CGM0_AUX0_MUX) from FIRC to DDRPLL_DFS1 Change mux AUX8_MUX (CGM0_AUX8_MUX) from FIRC to DDRPLL_PHI0 To locate the next two, it is necessary to scroll down on the Clocks Diagram: Change mux CGM0_AUX7_MUX (MC_CGM_0_AUX7_MUX) from FIRC_CLK to ENETPLL_PHI0 Change mux CGM2_AUX2_MUX (MC_CGM_2_AUX2_MUX) from FIRC_CLK to ENETPLL_PHI0 Click Update Code Click OK Switch to C/C++ perspective Insert pins init using the configuration from 'board\pin_mux.c' If not already open, double-click on the following files from Project Explorer: 'board\pin_mux.c' 'src\main.c' Use the SDK Explorer Go to Quick Access field and enter 'sdk' Select 'SDK Explorer' If needed, drag the new SDK Explorer tab to the pane you prefer. In general, for this tool, a taller tab window works better. Select the project name in the Project Explorer tab and then expand the list under the SDK until you can see the list of CLOCK_DRV function defines. Drag and drop the function 'CLOCK_DRV_Init()' into main() of 'main.c', after the comment '/* Write your code here */'. Now locate the PINS_DRV function defines. . Drag and drop the following functions into the main() function of 'main.c', after the function call CLOCK_DRV_Init(): PINS_DRV_Init() PINS_DRV_ClearPins() The function calls are not in the format we need so let's modify them: Drag and dropped from SDK Explorer Change to this for our application status_t = CLOCK_DRV_Init(const clock_user_config_t*); CLOCK_DRV_Init(&clock_InitConfig0); status_t = PINS_DRV_Init(uint32_t, const pin_settings_config_t[]); PINS_DRV_Init(NUM_OF_CONFIGURED_PINS, g_pin_mux_InitConfigArr); PINS_DRV_ClearPins(GPIO_Type* const, pins_channel_type_t); PINS_DRV_ClearPins(LED1_PORT, ((1<<LED1_PIN)|(1<<LED2_PIN))); clock_InitConfig0 is defined in 'board/clock_config.c' NUM_OF_CONFIGURED_PINS, LED1_PORT, LED1_PIN, LED2_PORT, LED2_PIN are defined in 'board/pin_mux.h' g_pin_mux_InitConfig_Arr is defined in 'board/pin_mux.h' LED1_PORT == LED2_PORT Replace the contents of the FOR loop to toggle the pins (PINS_DRV_TogglePins() comes from SDK Explorer) Original New for(;;) {      if(exit_code != 0)      {           break;      } } for (;;) {      /* Insert a small delay to make the blinking visible */      delay(720000);      /* Toggle output value LED1 & LED2 */      PINS_DRV_TogglePins(LED1_PORT, (1 << LED1_PIN)|(1 << LED2_PIN)); } Insert delay function code in main.c delay() void delay(volatile int cycles) {      /* Delay function - do nothing for a number of cycles */      while(cycles--); } Now main.c should look as follows Build the project Now we have the ELF file We are ready to run on the hardware. Open the Debug Configurations Select the debug configuration within the debugger grouping for the debugger that was chosen in the new project wizard (step 1f), and for build type Debug_TCM S32 Debugger/S32 Debug Probe Select the Debugger tab. Some setup is required to configure how we are connected to the S32 Debug Probe There are two options: Ethernet USB   If connecting the Probe via Ethernet, please refer to the Quick Start Guide or S32 Debug Probe User Guide provided with the S32 Debug Probe for instructions on how to connect it and determine the Hostname or IP address.     If connecting the Probe via USB, then the COM port will appear in the Port selection setting. If you have more than one S32 Debug Probe connected, you will need to determine which COM port is the correct one, otherwise, only the COM port for your S32 Debug Probe will appear.   PEMicro GDB Server When debug probe setup is done, then click Debug to run the code. Agree to launch the debug perspective Now the debugger starts and you can see it has stopped on the default breakpoint at the first line in main(). From here you can Resume, Step, set a breakpoint, set watch variables and monitor registers. If you Resume, then you will see the LEDs on the EVB blinking. You can set a breakpoint on the PINS_DRV_TogglePins() and use Resume to see the LEDs come on and off.
查看全文
The release notes of S32K RTD usually mention which dependent software packages need to be installed. Taking SW32K3_S32M27x_RTD_R21-11_4.0.0_D2311_ReleaseNotes.pdf as an example, we can see that the following software packages need to be installed: You must be logged into your account on NXP.com to gain access to the download link. 1. Download and install S32Design Studio 3.5: Click S32 Design Studio 3.5 – Windows/Linux -> 3.5 S32 Design Studio for S32 Platform v.3.5 -> S32DS.3.5_b220726_win32.x86_64.exe Note: For Windows OS, the user account designated for installing S32 Design Studio for the S32 Platform must be a member of the local Administrators security group.   2. Download and Install S32 Design Studio 3.5 Update 8 D2311: SW32_S32DS_3.5.8_D2311.zip (com.nxp.s32ds.update_3.5.8.20231116041033.zip) Since the SW32K3_S32DS_3.5.8_D2311.zip downloaded in step3 already contains the files of the SW32_S32DS_3.5.8_D2311.zip in the step2, we will skip this step here.   3. Click S32K3 Standard Software -> Automotive SW - S32K3 - S32 Design Studio Download and Install S32 Design Studio 3.5.8 Development Package with support for S32K3xx devices (3.5.8_D2311): SW32K3_S32DS_3.5.8_D2311.zip  (com.nxp.s32ds.s32k3xx.update_3.5.8.20231116045533.zip) Unchecking Contact all update sites during install to find required software can complete offline installation faster.   4. Download and install S32 Design Studio 3.5.6 RTM with support for S32K39x devices(3.5.6_D2309): SW32K39x_S32DS_3.5.6_D2309.zip   5. For users who need to use S32M27x(Otherwise, go to step 6), please click S32M2 Standard Software -> Automotive SW - S32M2 - S32 Design Studio Download and Install S32 Design Studio 3.5.8 Development Package with support for S32M2xx devices(3.5.8_D2311): SW32M2_S32DS_3.5.8_D2311.zip (com.nxp.s32ds.s32m2.update_3.5.8.20231116044631.zip)   6. Click S32K3 Standard Software -> Automotive SW - S32K3/S32M27x - Real-Time Drivers for Cortex-M Select and install one of the updatesite for S32K3 RTD 4.0.0.  The latest S32K3 RTD version is usually recommended. However, if you need to use Reference Software or Premium Software (such as FreeRTOS, LIN Stack, TCP/IP Stack, AWS Libraries for S32K3, S32 Safety Software Framework (SAF) for S32K3xx, Structural Core Self-Test (SCST), HSE Premium Firmware, ISELED Driver), it is recommended to install the specific version of S32K3 RTD according to their release notes. Since there are many versions of S32K3 RTD 4.0.0, only one version of RTD will be installed here. Download and install S32K3_S32M27x Real-Time Drivers AUTOSAR R21-11 Version 4.0.0: SW32K3_S32M27x_RTD_R21-11_4.0.0_D2311_DS_updatesite.zip Then in S32DS v3.5, click File -> New -> S32DS Project from Examples and you should be able to see the example projects for S32K3 RTD 4.0.0.
查看全文
S32 Design Studio (S32DS) supports IAR Eclipse plug-in that enables users to build and debug a S32DS project with IAR toolchain for ARM. This document describes how to install this plugin and how to enable IAR in the new project wizard. Current version of S32DS 3.4 supports IAR compilers v9.x. After the IAR eclipse plugin installation is finished you should be able to create, build and debug a new S32DS project (including SDKs) using IAR compiler/debugger interface directly under S32DS Eclipse environment.   Installation instructions First of all make sure you have IAR Embedded Workbench installed with a valid license from IAR. Now let's proceed to eclipse plug-in installation. 1. Install IAR Plugin manager  Go to menu "Help" -> "Install New Software"         Click on "Add..." button to add a new IAR repository located here: http://eclipse-update.iar.com/plugin-manager/1.0                   Tick "I Accept the terms of the license agreement" and click "Finish" to accept unsigned content software Finally you proceed to the installation. When the plugin is installed you will be asked to restart S32DS Again, go to menu "Help" -> "Install New Software" and  click on "Add..." button to add a new IAR repository located here: http://eclipse-update.iar.com/arm/9.10/                   Tick "I Accept the terms of the license agreement" and click "Finish" to accept unsigned content software Finally you proceed to the installation. When the plugin is installed you will be asked to restart S32DS Anytime you create a new workspace you will be asked to enter path to IAR Embedded Workbench IDE. Go to menu "Window" -> "Preferences", click on "IAR Embedded Workbench" menu, select “IAR Toolchain for Arm – (9.x)” in the “Installed IAR Toolchains”, and then input the IAR Embedded Workbench IDE installation path.            2. Configure IAR plugins in IAR Embedded Workbench plugin manager Start the IAR plugin manager (Menu "Help" -> "IAR Embedded Workbench plugin manager")          Select the ARM version (9.10-) and click "Install" button.           Select all the IAR components displayed and proceed to installation by clicking "Next" button.   3. New IAR project in the project wizard You can now create a new project in S32DS and select IAR toolchain for ARM instead of default GCC compiler.          There should appear a new item it the Debugger selection - "IAR plugin Debugger". Please choose this option if you intend to debug using IAR supported probes (e.g. I-jet)          IAR specific panels and settings are now displayed in the project properties for a new S32DS project with the IAR options enabled (see below).          There is a new category "IAR C-SPY Application" in the debug configurations panel that contains all the debug configurations for projects with IAR debug plugin option selected.          The Debugger perspective now offers several IAR specific Views and features.   Enjoy building and debugging with IAR Eclipse plug-in in S32DS!
查看全文
Example shows how can be expanded default 512kB flash memory by 64 kB using FlexNVM as a program/data flash. In FlexNVM are stored two ASCII images and function PrintImage. FlexNVM is divided into 32kB data section and 32kB code section in the linker file. Output is printed on terminal. As a output device you can use putty or any other serial terminal. Terminal settings: 9600, 8N1 - no flow control. In debugger settings you have to Enable partitioning device with code 0F0C. This value is written into FCCOB4 and FCCOB5 registers before flashing. Putty settings: Test HW: S32K144EVB, MCU: S32K144 Debugger: OpenSDA Target: internal_FLASH (debug mode and release mode)
查看全文
* Brief Periodical function call by LPIT timer ******************************************************************************** * Detailed Description: * Application performs function call on configurable period. Period in ms is * taken from potentiometer connected to ADC. * * * * ------------------------------------------------------------------------------ * Test HW: S32K144EVB, * MCU: S32K144 * * Debugger: PeMicro USB-ML-PPCNEXUS * * Target: internal_FLASH (debug mode, debug_ram and release mode) *
查看全文
Example show one of the methods how to create and use shared memory with symbols between cores. In source code shared_mem.c are variables which can be seen by each core. This file is built once (during s32r274_shmemZ7_0 project compilation) and is linked to other core's elf file by linker into shared_mem section (see linker file for each core) starting on the very same address for each core. Hardware semaphores are used for access shared memory. Lock/Unlock functions are implemented in the shared_func.c (build once during s32r274_shmemZ7_0 project compilation too) file and the object is linked into .text section. Each core has it's own instance of shared functions. There is counter in the shared memory for each core increased each time when shared memory can be accessed by particular core.
查看全文
In embedded systems development, attention to memory utilization is universal. In S32 Design Studio, this information can easily be provided at the end of a successful build by invoking a linker option. Right-click on the project name in the Project Explorer panel and select 'Properties' from the menu. Navigate to the C/C++ Build -> Settings ->Standard S32DS C Linker -> Miscellaneous menu. From the Other options section, click Add. In the 'Enter Value' pop-up menu, enter: -print-memory-usage Click OK, then Apply and Close. Now build the project and see the memory usage information displayed in the Console window.
查看全文
Included in the Radar Software Development Kit (RSDK) is an example project ‘RSDK_S32DS_template’. This example shows an example radar application which uses the Arm Cortex-A53 and accelerators SPT, LAX and BBE32 DSP. The A53 core is used to execute the Linux application and launches the SPT, LAX, and BBE32 DSP cores. In this HOWTO, we will show how to load the project into the S32 Design Studio workspace and build. Debugging instructions, using the S32 Debugger and S32 Debug Probe are provided in separate documents for each accelerator. Preparation Setup the software tools Install S32 Design Studio for S32 Platform Install the S32R4xx development package, the Radar extension package for s32R4xx, and the BBE32 DSP Add-On Package for S32R45.   Install the ‘S32R45_RSDK_0.9.4_D2112’ last. It contains the ‘RSDK_S32DS_template’ example project. This package must be downloaded from the NXP website. If the .exe version is used, then the RSDK installer will install an XML file containing the install path of the RSDK into the S32 Design Studio installation directory. A prompt during the installation process will request the user to locate the S32DS installation directory. If the S32DS installation folder doesn’t exist, then it can’t be selected and the file will be missed. So, it is important to install this after installing S32 Design Studio and to use the .exe version. Once installed, S32 Design Studio will be able to locate the project from the New Project from Example wizard. If the .zip version is used, then the XML file must be updated manually and then placed in the S32DS installation folder. For example, with the 0.9.4 version of the RSDK: Locate the XML file in the RSDK installation folder. It is located in the base installation folder: "C:\NXP\S32R45_RSDK__0.9.4\swm.rsdk.s32r45.0.9.4.xml" Edit the following line by inserting the path to the RSDK: <variable name="RSDK_S32R45_0_9_4_DIR" value="${{RSDK_INSTALL_DIR}}" /> change to: <variable name="RSDK_S32R45_0_9_4_DIR" value="C:/NXP/S32R45_RSDK__0.9.4" /> Copy file to S32DS install folder. For example, if S32 Design Studio v3.5 installed: “C:\NXP\S32DS.3.5\S32DS\integration” Procedure Create the Project. Launch S32 Design Studio for S32 Platform and execute the following command: File -> New -> New S32DS Project from Example   OR from the Dashboard Enter search text ‘rsdk’. The RSDK_S32DS_template project will be shown. Select it and click Finish. Examine the project Notice there are separate projects for each core. This project structure is due to the separate compilers, linkers, and assemblers required for each core type. When the A53 project is built, it will automatically build the other projects and then include the executable outputs into the A53 executable output. This way the code for all cores is loaded at one time and each core can be launched by the A53 core.  
查看全文
Migration guide You can use a project that was created in an earlier version of S32 Design Studio for Power Architecture 2.1, but it requires changes according to the new product directory structure. The following explains how to import and configure your project. Click File > Import... > General > Existing Projects into Workspace, then click Next. Click Browse... and browse to the project location, click OK, select the Copy projects into workspace option, then click Finish. If the Problems view displays the following warning: "The hardware settings required for project not found", right-click it and select Quick Fix on the context menu. Select the project from the Resource list and click Finish. Specify the Family, Device and Core settings. Click OK. For the EWL source code debugging, open the debug configuration settings, switch to the Source tab, select Path Mapping: EWL and click Edit. Update the e200_ewl2 location: Compilation Path: e200_ewl2 Local file system path: <s32ds_for_power_dir>\S32DS\build_tools\e200_ewl2 Depending on the project type, update the following environment variables and file locations. For projects with the SPT tools: open the project settings, click C/C++ Build > Settings > SPT Assembler. Update the SPT include files location: "${SPT_TOOLCHAIN_DIR}/inc" for the SPT1 tools, "${SPT2_TOOLCHAIN_DIR}/inc" for the SPT2 tools, and "${SPT2.5_TOOLCHAIN_DIR}/inc" for SPT2.5 accordingly. For projects with the attached PEx SDK: after you import the project, the path validation notification appears. Click Yes to open the S32 SDK Specific properties page and update SDK path (click Browse and navigate to the <s32ds_for_power_dir>/S32DS/software/<sdk_name> folder). If you import the project example, additionally open the project settings, click C/C++ Build > Build Variables and update the S32_SDK_PATH value: ${eclipse_home}/../S32DS/software/<sdk_name>. For projects with the attached FreeMaster or AMMCLIB SDKs: open the project settings, click C/C++ Build > Settings and update the SDK paths on the following pages: Standard S32DS C/C++ Compiler > Includes Standard S32DS C/C++ Linker > Libraries Standard S32DS Assembler > General For the FreeMaster SDK project, additionally navigate to the project folder, open the .project file, and update the linkedResources locations. If some errors and warnings still occur, try to close and reopen your project, or restart S32DS for Power Architecture.
查看全文
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!
查看全文
Trace functionality is supported in the S32 Debugger for A53 cores on the S32V, RAM-target builds. With Trace, you can record some execution data on an application project and then review it to determine the actions and data surrounding an event of interest.   This document outlines the method to begin using Trace on the S32V234 device. We start by creating a project on which to execute the trace, however, you may start at step 2, if you are starting with an existing project. Please note, you will need to have debug configurations for the S32 Debugger setup for each core which you intend to capture trace. If you do not already have such configurations, you may copy them from another project and adapt them to the new project as shown in HOWTO: Add a new debugger configuration to an existing project.   Create a new application project, selecting the 'S32V234 Cortex-A53' processor and 'S32 Debugger' options.  There should now be 4 new application projects in your workspace. One for each A53 core. The first core of the S32V234, A53_0_0, is also a possible boot core, so this project will have build configurations for RAM and FLASH. The other A53 cores (0_1, 1_0, 1_1) will not. Build all projects for Debug_RAM and check that they build clean before proceeding. Open 'Debug Configurations...' and select the 'Debug_RAM' configuration for the first core (A53_0_0_Debug_RAM_S32Debug). Select the 'Debugger' tab. Enter the Debug Probe Connection settings as appropriate for your hardware setup. Now select the Launch Group configuration for 'Debug_RAM'. It is important to use the launch group to start the debug for each core, not just because it makes it easier, but also because it is necessary to allow for some delay after the first A53 core is started before bringing the other A53 cores from reset to debug state. Press Debug Once the code is loaded to the target and the debugger has started each core and executed to the first line within main(), then it is ready to perform any of the standard debug functions including Trace. Trace does not start automatically, it must be turned on before it will start logging data. To do this, it is necessary to add the view 'Trace Commander'. It can be found by either Window -> Show View -> Other, then search for 'Trace Commander' or enter 'Trace Commander' in the Quick Access field of the toolbar and select Trace Commander from the list. The Trace Commander view will show in the panel with the Console, Problems, etc. Double-click on the tab to enlarge it. Click on the configure button to change settings. Click on the Advanced Trace Generators configuration button For each core to be logged, set the associated ELF file. Select the core, click Add, then '...', and select the elf file for that core. Select Data Streams. Now it is possible to change how the data is captured. Since the buffers have finite memory, they can be set to collect data until full, or to overwrite. If set to One buffer, the data will be collected until the buffer is full, then data collection stops. It is useful to gather data when starting logging from a breakpoint to gather data during execution of a specific section of code. If set to Overwrite, the data collection continues and starts overwriting itself once the buffer is full. This is useful when trying to gather data prior to a breakpoint triggered by a condition.  To turn on the Trace logging, click on the 'Close this trace stream' button. The Trace is now enabled. To collect trace data, the cores must be executing. First double-click the Trace Commander tab to return to the normal Debug Perspective view. Then, one by one, select the main() thread on each core and press Resume to start them all. If collecting from a breakpoint, start the code first with Trace disabled, wait for the breakpoint to be reached, then enable the Trace. Allow the cores to run for a period of time to gather the data, then press Suspend on each one until they are all suspended. Look to the Trace Commander tab to see that the data icon is no longer shaded and click on it to upload the trace data. A new tab, Analysis Results, has appeared. Double-click this tab to see it better. Click on the arrow next to ETF 0 to show the data collected in the trace buffer. Notice there are 5 separate views on the captured data: Trace (raw data), Timeline, Code Coverage, Performance, and Call Tree. Trace - this is the fully decoded trace data log Timeline - displays the functions that are executed in the application and the number of cycles each function takes, separate tabs for each core Code Coverage - displays the summarized data of a function in a tabular form, separate tabs for each core Performance - displays the function performance data in the upper summary table and the call pair data for the selected function and it's calling function Call Tree - shows the call tree for identification of the depth of stack utilization See the S32DS Software Analysis Documentation for more details on settings, ways to store the logged data, etc.
查看全文
The Quick Start describes how to use the S32 Design Studio to create, build, and debug a project. Starting S32DS Design Studio for S32 Platform 3.5 To start S32 Design Studio and begin to work with it: Launch S32 Design Studio : locate the shortcut depending on your selection during the installation, and double-click the product icon. The Eclipse Launcher dialog box appears to let you define the location of your workspace.   Note: A workspace is the folder where S32 Design Studio stores projects that you create or import. Select a folder for your workspace. It is recommended to create a new workspace for each product instance. To choose the default location, click OK. To use a different location, click Browse. In the Select Workspace Directory dialog box, select the preferred folder or click Make New Folder to create a new folder for storing your projects. Click OK. S32 Design Studio is launched. Browse through the Getting Started tab and close it. The workbench appears:   Creating and building a project   To create and build a project: Click File > New > S32DS Application Project or S32DS Library Project on the menu bar. The first page of the wizard appears. Specify the name of the new project in the Project name text box. Note: The Location field shows the default project location. If you want to change this location, clear the Use default location check box, click Browse and specify a different location. Click OK. Select the target processor from the Processors panel. Click Next. The second page of the wizard appears. Check the project settings, select the cores and parameters. Click Finish. The new project appears in the Project Explorer view. Note: The wizard creates one or multiple projects, depending on the number of selected cores. To build your project, do any of the following: Right-click the project in the Project Explorer view and click Build Project Select the project in the Project Explorer view, then click Project > Build Project on the menu Select the project in the Project Explorer view and click on the tool icon on the toolbar.        The build process starts.   If a build generates any errors or warnings, you can see them in the Problems view. Read through the build messages in the Console view to make sure that the project is built successfully.   Debugging a project   To debug a project: Set the debug configuration for your project. Select the project in the Project Explorer view. Open the debug configuration in any of these ways: Right-click the project and select Debug as > Debug Configurations… from the context menu. Choose Run > Debug Configurations… from the menu bar. Click an arrow next to Debug picture on the toolbar and select DebugConfigurations…. In the Debug Configurations dialog box, select the required debug configuration. The name of the debug configuration is composed of the project name, debugging interface and build configuration. The configuration settings appear on the tabs.   Modify the configuration settings where required and click Apply to save the changes. Click Debug. The debugger downloads the program to the memory of the target processor. The Debug perspective is displayed. The execution halts at the first statement of the main() function. The program counter icon on the marker bar points the next statement to be executed.   To set and run to a breakpoint: Double-click on the marker bar next to a statement. The breakpoint indicator (blue dot) appears next to the statement. From the Debug view, select Run > Resume on the menu bar. The debugger executes all statements up to (but not including) the breakpoint statement. To control the program: From the Debug view, select Run > Step Over from the menu bar. The debugger executes the breakpoint statement and halts at the next statement. From the Debug view, select Run > Resume from the menu bar. The debugger resumes the program execution. From the Debug view, select Run > Terminate. The debug session ends.
查看全文
      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.
查看全文
The S32 Debugger included within the S32 Design Studio for S32 Platform IDE provides the ability to access the flash programming and debugging of the S32 Debug Probe via GDB command line. This document provides only the necessary commands specific to launching a debug session on NXP devices. It does not cover general GDB command line operations, these are covered in detail in the GNU communities and other public websites which are not associated with NXP. Preparation Setup the software tools Install S32 Design Studio for S32 Platform Install the Development Package for the device you are debugging. In this case, the S32R41 development package. This package is important as the S32 Debugger support component contains the device-specific Python scripts required for initialization of the cores. Setup the hardware Confirm the setup of the S32R41 evaluation board. Connect the power supply cable Setup the S32 Debug Probe. Refer to the S32 Debug Probe User Manual for installation instructions. Connect the S32 Debug Probe to the evaluation board via JTAG cable. Connect the S32 Debug Probe to the host PC via USB OR via Ethernet (via LAN or directly connected, and configured for static IP address) and power supply connected to USB port. Launch S32 Design Studio for S32 Platform Create new or open existing project and check that it successfully builds. If creating a new project, be sure the S32 Debugger is selected in the New Project Wizard   Procedure As separate debug threads need to be started for each core to be debugged, and the method for launching a debug thread differs depending upon whether it is a primary core or secondary core and if the executable image will be loaded or if the executable is already running and the debugger just needs to be attached. These scenarios will be covered by the following 3 sections: Primary Core Load Image and Run: The application image will be loaded directly to memory by the debugger and then initialized and started. The primary core will launch any secondary cores used by the application. Secondary Cores: The primary core has launched a secondary core, it is now running and the debugger will connect through the attach method. Primary Core Image Already In Memory and Running: The primary core has already been initialized and launched by other means, such as via a Linux OS on the target, so the debugger will connect through the attach method without initializing or loading the image to memory. Please proceed with the section which applies to the core for which you are starting a debug thread. Primary Core Load Image and Run Prepare the initialization script for the core(s) to be debugged. Open the core initialization Python script: {S32DS Install Path}\S32DS\tools\S32Debugger\Debugger\scripts\s32r41\s32r41_generic_bareboard_all_cores.py Uncomment the following lines: # _JTAG_SPEED = 16000 # _GDB_SERVER_PORT = 45000# _RESET_TYPE = "default" # _PROBE_IP = "s32dbg" # _CORE_NAME = 'M7_0' # _RESET_DELAY = 1 # _REMOTE_TIMEOUT = 110 # _IS_LOGGING_ENABLED = False # _SOC_NAME = "S32R41" This file is used by the S32 Debugger within the S32 Design Studio IDE where the settings are provided from the GUI, so these lines are commented out in order to allow the GUI settings to have control. The commented lines are provided so the script could more easily be run by the command line method. Update the IP address line (_PROBE_IP) to match the IP address of the S32 Debug Probe which is connected to your PC. See the user guide for the S32 Debug Probe for details on how to obtain the IP address. Update the core name (_CORE_NAME), if necessary. See s32r41_context.py for complete list of supported cores. Save the file with a new name to preserve the original. For example, s32r41_gen_bb_all_c_my_probe.py. This ensures the S32 Debugger will still function correctly. Launch GTA server. From command prompt or Windows File Explorer run the command: {S32DS Install Path}\S32DS\tools\S32Debugger\Debugger\Server\gta\gta.exe Should see a window appear like this: Ensure Environment Variable for Python is set. From command prompt, run the command: set PYTHONPATH={S32DS Install Path}\S32DS\build_tools\msys32\mingw32\lib\python2.7;{S32DS Install Path}\S32DS\build_tools\msys32\mingw32\lib\python2.7\site-packages Start GDB. In a command window, run the command: Windows OS: {S32DS Install Path}\S32DS\tools\gdb-arm\arm32-eabi\bin\arm-none-eabi-gdb-py.exe (for arm32) OR {S32DS Install Path}\S32DS\tools\gdb-arm\arm64-eabi\bin\aarch64-none-elf-gdb-py.exe (for arm64) Linux OS: arm-none-eabi-gdb-py A (gdb) prompt should now be displayed in the command window: From (gdb) prompt, enter the following commands(in this order): source {S32DS Install Path}\\S32DS\\tools\\S32Debugger\\Debugger\\scripts\\s32r41\\s32r41_gen_bb_all_c_my_probe.py This specifies the script for initialization. py board_init() This initializes the board. It should only be called for the initial core. In a multicore debugging workflow, the debugger launch for additional cores would omit this step. py core_init() This initializes the core specified in the initialization script in step 1. Now standard GDB commands may be used. For example, you may wish to load an ELF file: file {S32DS Workspace Path}\\New_S32R_Project_M7_0\\Debug_RAM\\New_S32R_Project_M7_0.elf load Secondary Cores After completing the launch of debug for the primary core, it is possible to perform multicore debug by launching GDB debugging on the secondary cores. Some additional steps will need to be performed from within the primary core GDB session, enter the following commands: set *0x34100000 = 0x34200000 set *0x34100004 = 0x34100025 set *0x34100024 = 0xFFFEF7FF b main c These lines prepare the environment for launching debugging on secondary cores. This will allow for multicore debugging in the case of separate ELF files for each core. These can be found in the Run Commands field of the Startup tab on the Debug Configuration for the primary core within S32 Design Studio IDE, of any multicore project created from the New Application Project Wizard. Note: If there is just one ELF file for all cores, then these 'set *0x... = 0x...' commands should be skipped. In general, it will be correct to set the break-point at main, as shown, but this might need to be changed depending on when the secondary cores are started within the project. Prepare the initialization script for the secondary core to be debugged. Open the core initialization Python script: {S32DS Install Path}\S32DS\tools\S32Debugger\Debugger\scripts\s32r41\s32r41_attach.py This is a different script than the one used for the primary core. It is designed to launch a debug session on a core which is already initialized and running. Edit the script for the secondary core to be debugged. Since this script is setup for the primary core, some adjustments need to be made to setup for a secondary core Uncomment the following lines: # _JTAG_SPEED = 16000 # _GDB_SERVER_PORT = 45000 # _RESET_TYPE = "default" # _PROBE_IP = "s32dbg" # _CORE_NAME = 'M7_0' # _RESET_DELAY = 1 # _REMOTE_TIMEOUT = 110 # _IS_LOGGING_ENABLED = False # _SOC_NAME = "S32R41" Make the following changes to the lines: _JTAG_SPEED = 16000 ->  None _GDB_SERVER_PORT = 45000 _RESET_TYPE = "default" _PROBE_IP = "s32dbg" -> None _CORE_NAME = 'M7_0' -> 'M7_1' (this should be set to match the name of the core to be debugged, see s32r41_context.py for complete list) _RESET_DELAY = 1 _REMOTE_TIMEOUT = 110 _IS_LOGGING_ENABLED = False -> ‘True’ _SOC_NAME = "S32R41" Save the file with a new name to preserve the original. For example, s32r41_attach_my_probe_core1.py. This ensures the S32 Debugger will still function correctly. The existing GTA server is used, so do not launch a new one. Open an new command window and follow similar steps as done for the primary core. Setup the Python environment variable, if not done globally set PYTHONPATH={S32DS Install Path}\S32DS\build_tools\msys32\mingw32\lib\python2.7;{S32DS Install Path}\S32DS\build_tools\msys32\mingw32\lib\python2.7\site-packages Start GDB Windows OS: {S32DS Install Path}\S32DS\tools\gdb-arm\arm32-eabi\bin\arm-none-eabi-gdb-py.exe (for arm32) OR {S32DS Install Path}\S32DS\tools\gdb-arm\arm64-eabi\bin\aarch64-none-elf-gdb-py.exe (for arm64) Linux OS: arm-none-eabi-gdb-py A (gdb) prompt should now be displayed in the command window: From (gdb) prompt, enter the following commands (in this order): source {S32DS Install Path}\\S32DS\\tools\\S32Debugger\\Debugger\\scripts\\s32r41\\s32r41_attach_my_probe_core1.py This specifies the script for initialization. We will not execute the py board_init() as this was already done for the primary core. py core_init() This initializes the core specified in the initialization script in step 2. Now standard GDB commands may be used. For example, you may wish to load an ELF file: file {S32DS Workspace Path}\\S32R_Multicore\\S32R_Multicore_M7_1\ \Debug_RAM\\S32R_Multicore_M7_1.elf load Primary Core Image Already in Memory and Running The core is running and does not need to be initialized. Prepare the initialization script for the core to be debugged. Open the core initialization Python script: {S32DS Install Path}\S32DS\tools\S32Debugger\Debugger\scripts\s32r41\s32r41_attach.py This is a different script than the one used for the primary core. It is designed to launch a debug session on a core which is already initialized and running. Edit the script for the secondary core to be debugged. Since this script is setup for the primary core, some adjustments need to be made to setup for a secondary core Uncomment the following lines: # _JTAG_SPEED = 16000 # _GDB_SERVER_PORT = 45000 # _RESET_TYPE = "default" # _PROBE_IP = "s32dbg" # _CORE_NAME = 'M7_0' # _RESET_DELAY = 1 # _REMOTE_TIMEOUT = 110 # _IS_LOGGING_ENABLED = False # _SOC_NAME = "S32R41" Make the following changes to the lines: _JTAG_SPEED = 16000 _GDB_SERVER_PORT = 45000 _RESET_TYPE = "default" _PROBE_IP = "s32dbg" -> (enter the IP address of your probe) _CORE_NAME = 'M7_0' (this should be set to match the name of the core to be debugged, see s32r41_context.py for complete list) _RESET_DELAY = 1 _REMOTE_TIMEOUT = 110 _IS_LOGGING_ENABLED = False -> ‘True’ _SOC_NAME = "S32R41" Save the file with a new name to preserve the original. For example, s32r41_attach_my_probe_core0.py. This ensures the S32 Debugger will still function correctly. Launch GTA server. From command prompt or Windows File Explorer run the command: {S32DS Install Path}\S32DS\tools\S32Debugger\Debugger\Server\gta\gta.exe Should see a window appear like this: Ensure Environment Variable for Python is set. From command prompt, run the command: set PYTHONPATH={S32DS Install Path}\S32DS\build_tools\msys32\mingw32\lib\python2.7;{S32DS Install Path}\S32DS\build_tools\msys32\mingw32\lib\python2.7\site-packages Start GDB. In a command window, run the command: Windows OS: {S32DS Install Path}\S32DS\tools\gdb-arm\arm32-eabi\bin\arm-none-eabi-gdb-py.exe (for arm32) OR {S32DS Install Path}\S32DS\tools\gdb-arm\arm64-eabi\bin\aarch64-none-elf-gdb-py.exe (for arm64) Linux OS: arm-none-eabi-gdb-py A (gdb) prompt should now be displayed in the command window: From (gdb) prompt, enter the following commands(in this order): source {S32DS Install Path}\\S32DS\\tools\\S32Debugger\\Debugger\\scripts\\s32r41\\s32r41_attach_my_probe_core0.py This specifies the script for debugger initialization. Do not execute the py board_init() as this will initialize the board, and reset the currently executing application, which is not desired for this case. py core_init() This initializes the debugger connection to the core specified in the initialization script in step 1. Now standard GDB commands may be used. For example, you may wish to load an ELF file: file {S32DS Workspace Path}\\ New_S32R41_Project\\New_S32R41_Project_M7_0\\Debug_RAM\\New_S32R41_Project_M7_0.elf load After completing the launch of debug for the primary core, it is possible to perform multicore debug by launching GDB debugging on the secondary cores. See section ‘Secondary Cores’ for each additional core to be debugged.
查看全文