S32 Design Studio知识库

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

S32 Design Studio Knowledge Base

讨论

排序依据:
This document describes two ways how to add a static library file (*.a) into your S32 Design Studio GCC project. These methods differs from each other in sense how a library update is reflected into project build process. Adding a static library WITHOUT dependency to executable (elf) file This approach assumes a library does not change. An update of the library does not trigger project rebuild process. If the library changes the project needs to be manually cleaned (assuming no other source file has changed) and next build links the updated library. The path to the library and the library name shall be entered into Project Properties -> C/C++ Build -> Settings -> Standard S32DS C Linker -> Libraries Please note that GCC adds prefix "lib" and the extension ".a"  to the library name entered into the above dialog by default. GCC linker will search for the library file named: "libtestlib.a" in the folder "c:\my_libs" In the example above. In case a library cannot be found the linker error occurs e.g. one depicted below. The linker library file name option "-ltestlib.a" is expanded into file name "libtestlib.a.a" which does not exist. 10:28:53 **** Incremental Build of configuration Debug for project S32K144_Project_with_library **** make -j8 all Building target: S32K144_Project_with_library.elf Executing target #5 S32K144_Project_with_library.elf Invoking: Standard S32DS C Linker arm-none-eabi-gcc -o "S32K144_Project_with_library.elf" "@S32K144_Project_with_library.args" c:/nxp/s32ds_arm_v2.0/cross_tools/gcc-arm-none-eabi-4_9/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld.exe: cannot find -ltestlib.a collect2.exe: error: ld returned 1 exit status make: *** [makefile:49: S32K144_Project_with_library.elf] Error 1 10:28:54 Build Finished (took 1s.332ms)‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ For a custom library name add colon character ":" at the beginning of the library name to disable the default prefix/extension expansion. GCC linker now searches for file name "testlib.lib" in the example below:   Adding a static library WITH dependency to executable (elf) file If a static library has changed - "touched"  it is sometimes desired to trigger project rebuild. In this scenario the library shall be added into a different project dialog: Project Properties -> C/C++ Build -> Settings -> Standard S32DS C Linker -> Miscellaneous -> Other objects The items from "Other objects" list is propagated into USER_OBJS makefile variable which is prerequisite for auto-generated makefile rule that build the target (elf): Enjoy linking static libraries in S32DS!
查看全文
Create Project From Example S32DS for ARM: Create and Debug a New Project from Example Code in S32 DS IDE for ARM based MCUs. Learn how to create a new project in S32 Design Studio IDE and load an example code to blink an LED using the S32K144EVB and build and debug the project. Create New Project S32DS for ARM: Create and Debug a New Project in S32 DS IDE for ARM based MCUs Learn how to create a new project in S32 Design Studio IDE using Processor Expert and SDK to blink an LED using the S32K144EVB and build and debug the project.
查看全文
1) Prepare the evaluation board hardware You can use the S32 Debug Probe to download code to target Connect S32 Debug Probe to S32V234 EVB using JTAG connector Connect S32 Debug Probe to PC via USB cable OR ethernet (if connected via ethernet, then USB power cable must also be connected) Connect the S32V234 EVB to PC via ethernet (typically via LAN) Connect power cable to evaluation board and switch on the power     2) Build the project using the TEST_A53 build option. 3) Start debug on A53 core. Project is now built, ELF file is read to be loaded to EVB for execution. 4) Before a debug session can be started, we must complete HOWTO: Setup A Remote Linux Connection in S32DS for Vision. 5) Select the debug drop-down menu and click Debug Configurations     6) Make sure the Debug_Remote_Linux debug configuration is selected and the connection setup in step 4 is selected (points to the IP address of your EVB). Click Debug     7) The first time you connect to a new IP address (i.e. the first time you debug after booting the board), you will receive a warning message, Click Yes and proceed.     The executable file is copied to Linux file system and gdbserver starts. You may get an error message on the first try, this is normal. Just try it again and it will work. 😎 Once the Linux GDB has started on A53 core and the initial breakpoint is reached in main(), we need to set a breakpoint at the function apu_hal_Enable().    This breakpoint has already been created for you, you just need to enable it! Locate the breakpoint in the Breakpoints view. Due to some known issues with Eclipse CDT, it is necessary to enable->disable->enable the breakpoint so it will work properly. The issue only affects this breakpoint, due to the way it is provided, and will not affect breakpoints which you set. 9) Press Resume twice, so that the breakpoint which was set at apu_hal_enable() is reached for the 2nd time. 10) Open Debug Configurations. You will see a debug configuration within the 'S32 Debugger' group (FAST9COLOR as shown below). This is the debug configuration we will use, however, it will require some setup.     11) You should notice the error message at the top of the window, just below the title and a red 'X' on the Debugger tab. Click on the Debugger tab to select it. We must setup the Debug Probe Connection before we can proceed. 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.       12) Click Apply then Debug. It may take a few moments for the APEX core debug to launch.   13) It may take a moment or two before the APEX2 debug thread launch is complete, see the Thread listed within the <kernel_name>[S32 Debugger] in the Debug window. Also note, a new breakpoint is listed in the Breakpoints view. This breakpoint is set for you at the start of the APEX2 graph function. 14) The debugger context is still on the A53 thread. Press RESUME and then select the APEX2 thread to see that it has stopped on the graph function break point. Now you can step through the graph. 15) To step through a kernel, locate the call to the kernel function in the graph function and set a break point on the line. 16) Press RESUME to advance the program counter to the new break point 17) Press STEP INTO to advance the program counter into the kernel. It may take several steps as the optimizations performed by the compiler produce some synchronization inconsistencies. 18) You may need to help the IDE to locate the source files. Now you can see the kernel wrapper function... and the kernel! 19) Step through, monitor variables and registers and set breakpoints.
查看全文
The Vision SDK root is contributed to the Design Studio as a dynamic path variable “S32DS_VSDK_DIR”. Several Design Studio services use this variable to access the resources inside the Vision SDK. By default, this variable points to “${eclipse_home}../S32DS/s32v234_sdk”, i.e. to the Vision SDK shipment bundled with Design Studio. Technically you can change this variable to point to another instance of Vision SDK using the following steps: 1. Go to the main menu "Window -> Preferences" 2. Filter the preference dialog with "sub" keyword or just navigate to "Run/Debug -> String Substitution node. 3. Edit Variable "S32DS_VSDK_DIR" to assign another value to be substituted as Vision SDK root 4. Press OK when changes are complete.
查看全文
 Example shows how to configure PE Micro debugger to be able use FlexNVM as  backup for EEEPROM - Emulated EEPROM  (Backup size 64kB, EEEPROM size 4kB) and preserve the backup  memory. Configuration can be found in debugger Advanced Options.  In the example is data structure located in FlexRAM section by linker file.  FlexRAM data change cause flash store on background. Prior each data  change you shall check if previous flash operation is done.  In the example are two ways of FlexRAM (configured as an EEEPROM) usage:  Direct access (up to 4 bytes can be stored once)  IO Functions  By direct access you can store only data up to 4 bytes. There is no way how  to use memory move functions like memcpy/strcpy. In this case you need to  use functions for store arrays or 4 bytes+ types like double.  Part of example is LPIT timer storing runtime counter (seconds) each minute.  PE Micro configuration:  Enable partitioning for the device - code: 0x0204  Preserve memory - range: 10000000-1000FFFF
查看全文
S32DS for Vision contains many example projects from which you can learn how S32DS for Vision can be used with the help of the Vision SDK to develop vision applications. The example projects contain generated and hand-written code, which utilize the Vision SDK to demonstrate a workflow using S32DS for Vision. In this document, the procedure for creating a project from one of the provided APEX2 examples through to execution on the EVB is detailed. 1) Launch S32DS for Vision 2) Select 'New S32DS Project from example' 3) Select apex2_fast9 project 4) Click Finish 5) Change to C/C++ perspective, click on 'Switch to C/C++ Development' 6) Select apex2_fast9: A53 in the Project Explorer panel. Build the project using build config 'TEST_A53'. 7) Start a debug session using method as described in HOWTO: Create A53 Linux Project in S32DS for Vision, beginning at step 9. 😎 Click Resume  Should see something similar to what is pictured below There are green diamonds at the corners in the image as identified by the fast9 corner detection algorithm
查看全文
      Product Release Announcement Automotive Microcontrollers and Processors S32 Design Studio for ARM® 2018.R1  Update 9          What is new? S32K1xx SDK RTM 3.0.0 supporting S32K116, S32K118, S32K142, S32K144, S32K146, and S32K148  (S32K1xx SDK release notes) AMMCLIB version 1.1.15  (AMMCLIB S32K14x release notes) Segger J-Link drivers v6.42a (J-Link release notes) This is a cumulative update - it includes all the content of previous updates (Update 1, Update 2, Update 3, Update 4, Update 5, Update 6, Update 7, Update 8) Installation instructions The update is available for online (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 Image Vector Table (IVT) image is a set of pointers to other images which are required by the BootROM. It typically contains the following images, though not all are required to create a valid IVT image: DCD Self-Test DCD HSE Application Bootloader The IVT Tool enables configuration and generation of the IVT image as specified in the BootROM reference manual. Prerequisites Before using the IVT Tool, it will be useful to have already generated the binary image from your application project, it will be an input to the IVT. It may also be necessary to include a DCD image, for example, to initialize the SRAM. For application bootloader image, follow the steps in HOWTO: Generate S-Record/Intel HEX/Binary file, selecting 'Raw binary' option. For DCD image, follow the steps in HOWTO: Use DCD Tool To Create A Device Configuration Data Image . Procedure With desired project open in project explorer (C/C++ perspective), switch to IVT perspective. Click on 'Open IVT'. In the Boot Configuration section, check that the correct Boot Target is selected. For the demonstration here, M7_0 is the correct selection. Check the 'Interface selection' section. If your intended boot device is SD, MMC or eMMC, then change the setting from QuadSPI Serial Flash. If your intended boot device is QuadSPI AND you do not have a QuadSPI parameter file to specify, then uncheck the box for 'Configure QuadSPI parameters'. QuadSPI parameters change some flash registers' settings away from the default setting and are generally required for larger memory sizes (for ex. applications over 1 MB in size, for some supported devices). From the Image Table section, depending on your configuration, turn off all unused images. For the demonstration here, the following will be changed to Reserved: Self-Test DCD, Self-Test DCD (backup), DCD (backup), Application bootloader (backup). The following images will remain enabled: DCD, Application bootloader. In DCD section of the Image Table, click 'Browse File' and select the DCD binary file. Some of the fields may become red shaded after the file is loaded. This is OK as it is showing the memory layout is no longer aligned. This will be resolved in a later step.  Scroll down to the Application bootloader section, again use  'Browse File' and select the application binary. When the application boot image is loaded, the tool processes the file to check if it contains the header for the application bootloader image. If the header is not found, it means that the file is only the raw code (the bin generated by S32 Design Studio) and it will be necessary to provide the values for RAM start & entry addresses (code length is automatically calculated), as noted with the expanded view and red shading. To set the RAM start pointer and entry pointer addresses, from to the C/C++ perspective: From Project Explorer on the C/C++ perspective, open the linker file (in this case: hello_world\Project_Settings\Linker_Files\<device_name>_common_ram.ld) and locate the RAM start address and enter it in both the RAM start pointer AND RAM entry pointer fields in the IVT Tool. Use copy and paste to add the values to the Application Boot Image settings. Since the application binary file which was loaded for this example is just a raw binary file, it is necessary to generate the full application bootloader image. The Export Image function takes the values entered for the RAM start & entry pointers and the automatically calculated Code length, then generates the Application bootloader header. This header is added to the raw binary file producing a new image, the full application bootloader image file. Within the Application bootloader section, click 'Export Image' and enter a meaningful name for the image file. In addition to being a necessary source component of the IVT image, this file can more easily be shared or re-used to as an input to other IVT images. After the file has been generated, you will notice that the address settings section has collapsed. This is because it has replaced the file you originally selected with the newly generated one and the tool has recognized that the file contains the required header information. Before the Blob image can be generated, all of the images must be properly aligned within the memory map. You will likely also see error messages regarding segment overlaps, but even without this error it is good to check that the alignment is correct. In the Automatic Align section, if you have a dedicated area of the memory you can specify the start address and then click 'Align'. If you don't have a dedicated area, then use the default automatic align start address of 0x0 (QSPI), or 0x1000 (SD, MMC, eMMC). Click 'Align' to automatically align the images to this address. Upon successful completion of the alignment, all of the red shading will be removed. Click 'Export Blob Image' to generate the blob image file. This is what will be flashed to the target. Now that the Blob Image is generated, the 'Flash Image' button could be used to program the image to the target over serial connection, or use the S32 Flash Tool.
查看全文
Before you can start debugging an S32DS for Vision project for S32V234 Cortex-A53 APEX2/ISP Linux target on the S32V234-EVB, we must first setup the hardware connections and start the Linux BSP OS. 1) Connect (1) S32V234 USB Micro B port to (2) USB A port on your PC. This allow you to connect to the Linux BSP OS via a terminal program to issue commands and to obtain the IP address. 2) Insert microSDHC card (with U-boot, Linux kernel, devicetree, and root file system loaded*) into (3) the S32V234 SD card slot   3) Connect (1) Ethernet port on S32V234 daughter card to (2) LAN**. This will allow S32DS to communicate with the Linux BSP OS for flashing and GDB debugging.   4) Connect the power supply to (3) S234V234 EVB 5) Turn on the (4) power switch, this will start the Linux BSP OS *Instructions for preparing the SD card are provided in the VisionSDK document: ..\S32DS_Vision_v2.0\S234DS\s234v234_sdk\docs\vsdk\S32V234-EVB_SetupGuide.pdf or refer to https://community.nxp.com/docs/DOC-335023  **Ensure PC is connected to LAN as well (either hardwired or wireless)
查看全文
Sometimes you would like to share sources between projects and - even better - between platforms. Let's say that we are developing software with the very same functionality for S32K144 and MPC5744P. In this case, we can identify platform independent functions - generic, platform specific functions - not related to MCU itself, but related to the way some peripheral works (for example different ADC result range) - and MCU dependent functions like clock init. In attachment is a very simple SDK which can be shared with S32K144 and MPC5744P (each in different S32DS editions).  Unzip my_sdk.zip archive (for example C:\NXP folder). You can import example projects, but instead let's start from the beginning. Create a new S32DS Application project and choose MCU: You can use default project configurations and click through to finish: Right click on project name -> Properties and select SDKs -> Add Complete the Name, Version and Description fields in New SDK dialog and click on Change button next to Location field. In Change SDK Location dialog, leave Define new variable setting selected, click Browse and find the my_sdk path: Now we can select files (sources, headers...) from selected SDK, you can select all available files. If you select a folder, then all files in that folder will be selected as well. Don't forget to select header files too: If you choose Copy - the files will be copied into project folder and you can do local changes. Without this option (default) - changes will be shared between all projects depended on this particular SDK. The ability to individually select the files to be included from the SDK as well as to copy into the project folder, provides much flexibility to customize SDK usage in your projects. Click on OK, then Attach/Detach... to attach this SDK into your project:  If you like to use your SDK for newly created projects (as an option in SDK select list) - click on Make global button: Now you can see changes in your project: As well, the SDK can be viewed in SDK Explorer (Window -> Show View -> Other...), where functions and macros are available for drag and drop functionality into your code: Platform specific code is filtered by preprocessor-defined macro. So - let's define if we are working with S32K144 or MPC5744P. Right click on project name -> Properties -> C/C++ Build -> Settings -> <Standard S32DS C Compiler OR name of your compiler> -> Preprocessor: We are done - now we can use SDK functions - S32K144:  and MPC5744P (enabling interrupts is default part of empty project for MPC5744P - that's only difference):
查看全文
The Vision SDK root is contributed to the Design Studio as a dynamic path variable “S32DS_VSDK_DIR”. Several Design Studio services use this variable to access the resources inside the Vision SDK. By default, this variable points to “${eclipse_home}../S32DS/s32v234_sdk”, i.e. to the Vision SDK shipment bundled with Design Studio. Technically you can change this variable to point to another instance of Vision SDK using the following steps: 1. Go to the main menu "Window -> Preferences" 2. Filter the preference dialog with "sub" keyword or just navigate to "Run/Debug -> String Substitution node. 3. Edit Variable "S32DS_VSDK_DIR" to assign another value to be substituted as Vision SDK root
查看全文
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: 
查看全文
Eclipse caches some settings within the workspace directory. After installing a new version of S32DS, some settings in old workspaces may not match the requirement of the new version. The result is often errors reported on new as well as previously existing projects located in an existing workspace which you selected when launching S32DS. The best way to resolve this is to create a new workspace and then import your projects. This will ensure the workspace is created using all the correct settings for the version you have installed.
查看全文
      Product Release Announcement Automotive Microcontrollers and Processors S32 Design Studio for ARM® 2018.R1  Update 2          What is new? This update adds bare-board device support for S32K118 and some minor fixes. This is a cumulative update - it includes all the content of previous Update 1 Installation instructions The update is available for online (via Eclipse Updater) or offline installation (direct download link) online installation:  go to menu "Help" -> "Install New Software..." dialog  select predefined update site "S32DesignStudio - http://www.nxp.com/lgfiles/updates/Eclipse/S32DS_ARM_2018.R1/updatesite" select all available items and click "Next" button   offline installation:   go to S32 Design Studio for ARM product page -> Downloads section or use direct link to download the update archive zip file Start S32DS and go to "Help" -> "Install New Software..." Add a new "Archive" repository and browse to select the downloaded update archive .zip file you downloaded in the previous step Select all available items and click "Next" button.   This will starts the update installation process.
查看全文
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.
查看全文
This simple example shows how to attach GPIO Interrupt handler to particular GPIO Pin. Example is for S32K148 EVB and uses SW4 connected to PTC 13 and Green LED connected to PTE 22. Pressing SW4 invoke interrupt and Interrupt handler toggles Green LED. 
查看全文
Example contains modified startup code to be able run in BookE only mode. For GNU gcc and as you need to add -mno-vle parameter in project properties:  For debugging with PE Micro you need to use modified Initialization script in Advanced options: Please note that there is no STD C BookE only library available:
查看全文
      Product Release Announcement Automotive Microcontrollers and Processors S32 Design Studio for Power Architecture v2.1 Update 8          What is new? Integrated Radar SDK RTM 1.4.0 (replacing RSDK 1.3.0) (see the RSDK release notes) This is a cumulative update - it includes all the content of previous updates (Update 1,Update 2, Update 7) Installation instructions The update is available for online installation (via S32DS Extensions and Updates) or offline installation (direct download link)  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 for Power product page -> Downloads section or use direct link to download the update archive zip file  Start S32 Design Studio and go to "Help" -> "S32DS Extensions and Updates", then click 'Go to Preferences' link And add a new site "Add..." repository and browse to select the downloaded update archive zip file you downloaded in the previous step Select the 'S32 Design Studio for Power Architecture Device Package' and 'Update with S32 SDK 3.0.2 for Power Architecture' packages and click "Install/Update" button.   This will start the update installation process.
查看全文
      Product Release Announcement Automotive Microcontrollers and Processors S32 Design Studio for ARM® 2.2  Update 1          What is new? SDK S32K1xx RTM SR 3.0.3 (Patch for SDK S32K1xx RTM 3.0.0) AMMCLIB version 1.1.19 for KEAx, for S32K11x, for S32K14x AMMCLIB version 1.1.20 for KEAx, for S32K11x, for S32K14x Installation instructions The update is available for online (via Eclipse Updater) or offline installation (direct download link)  online installation: go to menu "Help" -> "S32DS Extensions and Updates" dialog check boxes next to "S32K1xx development package", "S32K1xx SDK 3.0.3 pakage" and "S32 Design Studio for ARM Devices development package" click "Install/Update 3 item(s)" offline installation:   go to S32 Design Studio for ARM product page -> Downloads section or use direct link to download the update archive zip file go to menu "Help" -> "S32DS Extensions and Updates" dialog select "Go to Preferences" Add a new Software Site Add a new "Archive" repository and browse to select the downloaded update archive .zip file you downloaded in the previous step check boxes next to "S32K1xx development package" and "S32 Design Studio for ARM Devices development package" click "Install/Update 2 item(s)" This will start the update installation process.
查看全文
There are often errors displayed after the indexer completes building its data base following the creation of a new project or the opening of a project not already in the workspace and again just before building. Some of these errors can be due to settings in the Eclipse Indexer settings. In one scenario, a project which builds clean, that is, no compiler or IDE errors, will mark code lines in a source file which includes a large header file as 'cannot resolve symbol xxxx'. In this case, the header file is larger than 17 MB. In the Eclipse Indexer settings, there are settings 'Skip files larger than' and 'Skip included files larger than'. These settings, by default, are set to 8 MB. This would be too low for the header file in this example. In order to resolve the issue, the setting should be increased to allow for the large header file to be indexed.
查看全文