Accelerate automotive software development on NXP S32K3 MCUs with NXP S32DS and IAR Embedded Workbench for Arm
A case study on how to combine the advantages of the original MCU development environment with industry-leading software tools to accelerate the development of mission-critical applications
As the market demand and the automotive industry continue to promote the "new four modernizations" of electrification, networking, intelligence and sharing , engineers will face more and more software development projects and use high-performance MCUs with automotive grade and functional safety certification to develop related applications. Combining the MCU development environment provided by MCU suppliers with industry-leading development tools will greatly improve the development efficiency and performance of developers. This article takes the S32K series 32-bit Arm Cortex automotive MCU, which is widely used in the automotive industry , as an example to introduce how to quickly develop high-performance automotive MCU applications by integrating and utilizing its S32DS development environment and the IAR Embedded Workbench for Arm tool chain, which has been widely adopted in the industry.
Since its launch in 2017, NXP S32K1 MCU has been widely used in the automotive electronics market. On this basis, NXP launched the S32K3 MCU in 2020, further expanding the S32K1 MCU series based on Arm Cortex-M0+/M4F. The new S32K3 MCU is based on Arm Cortex-M7 and provides multi-core and lock-step options to support functional safety ISO 26262 ASIL B/D. The S32K3 MCU is mainly used in automotive body electronic systems, battery management and emerging domain controllers.
Figure 1: NXP S32K (Source: NXP)
To address the increasing software complexity, NXP has launched a real-time driver (RTD) that supports real-time software on AUTOSAR and non-AUTOSAR applications, mainly for Arm Cortex-M cores, so that all software layers comply with ISO 26262 requirements . This allows applications that meet relevant certification requirements to be completed quickly.
Figure 2: NXP Real-Time Driver (RTD) (Source: NXP)
NXP S32K3 MCU has a wide range of partners to help customers develop. As an important partner of NXP, IAR Systems provides professional embedded software development tools.
The latest IAR Embedded Workbench for Arm V9.20.1 has officially supported NXP S32K3 MCU (see Reference 1). IAR Embedded Workbench for Arm V8.50.10 functional safety version can be used for application development based on S32K3 real-time driver (RTD).
Figure 3: IAR Systems embedded software development tools (Source: IAR Systems)
IAR Embedded Workbench for Arm is widely used in automotive electronic software development. Its highly optimized compiler can generate highly efficient and compact executable code, maximizing MCU performance and reducing FLASH and RAM usage. At the same time, IAR Embedded Workbench for Arm has powerful debuggers and code analysis tools that can help R&D personnel improve development efficiency, improve code quality, and ensure product reliability.
To facilitate customer application development, IAR Embedded Workbench for Arm is integrated with NXP S32DS tools, allowing customers to quickly initialize projects on the IAR Embedded Workbench for Arm tools.
The S32 Configuration Tools in NXP's S32 Design Studio can quickly configure pins, clocks, and peripherals, greatly simplifying the configuration of the S32K3 MCU and accelerating the early preparations for development. Initializing the project through S32DS and then importing it into IAR Embedded Workbench for Arm for project development can bring great convenience to users of the S32K3 series chips.
The following will specifically introduce how to use NXP S32DS to create a project and import it into IAR Embedded Workbench for Arm to accelerate automotive software development based on NXP S32K3 MCU.
Installing IAR Eclipse plugin in NXP S32DS
NXP S32DS supports IAR Eclipse plug-in, but IAR Eclipse plug-in is not included in the S32DS installation package and needs to be installed separately. The method can be read in reference material 2. In practical applications, this applies to S32 Design Studio for ARM and also to S32 Design Studio for S32 Platform.
Create a project in NXP S32DS
Create a project in NXP S32DS and select IAR Toolchain for Arm as the corresponding toolchain:
Then use Configuration Tools to configure the corresponding pins, clocks, and peripherals and automatically generate the corresponding code:
Export S32DS project to IAR Embedded Workbench for Arm
When creating a project in S32DS, if IAR Toolchain for Arm is selected as the toolchain, the corresponding project can be exported and imported into IAR Embedded Workbench for Arm. For specific steps, please refer to Reference 3. The operation of exporting projects is applicable to S32 Design Studio for ARM and S32K1, and also to S32 Design Studio for S32 Platform and S32K3.
However, after following the instructions in the link, the IAR Embedded Workbench for Arm project folder directory is inconsistent with the original project folder directory in NXP S32DS:
For this purpose, IAR provides a plug-in called EWPtool, which can import the corresponding source file directory into the project. For details, please refer to reference material 4.
Here is what I did after importing from NXP S32DS into Workbench for Arm:
1. Delete the corresponding Freescale Processor Expert folder (the corresponding project folder directory will be deleted):
2. Add a new source file directory and select the corresponding project directory (point to the directory where the NXP S32DS project is created):
3. The project folder directory corresponding to IAR Embedded Workbench for Arm is consistent with the original project folder directory in NXP S32DS:
4. Since the program entry function and interrupt vector table in the startup code in NXP S32DS are different from the program entry function and interrupt vector table used by default in IAR Embedded Workbench for Arm, the following configuration is required (specify the corresponding program entry function in the Linker option and the corresponding interrupt vector table address in the Debugger option: "--drv_vector_table_base=_ENTRY_VTABLE"):
5. Then you can compile, download, debug and other related operations in IAR Embedded Workbench for Arm:
Summarize
This article takes NXP's latest S32K3 MCU and related software development resources as an example to show how to use the NXP factory-configured S32DS tool to build a project based on the S32K3 MCU, and select the industry's popular IAR Toolchain for Arm as the tool chain to improve the development efficiency of projects with high code quality requirements. Use the Configuration Tools in NXP S32DS to configure the corresponding pins, clocks, and peripherals, and automatically generate the corresponding code, and then export the NXP S32DS project to IAR Embedded Workbench for Arm for subsequent development. Use the flexible configuration of NXP S32DS and the efficient compilation efficiency of IAR Embedded Workbench for Arm to accelerate the development of automotive software based on NXP S32K3 MCU.
Of course, as more and more Chinese technology companies focus on industrial applications, medical equipment and other critical applications that require high reliability and high performance, there are opportunities to combine the advantages of MCU original development tools and high-performance tool chains provided by third-party manufacturers such as IAR Systems to develop applications in these fields. Engineer friends can learn more and try them out.
Further reading
Reference Material 1: IAR Systems enables next generation automotive applications with NXP's S32K3 MCU family
Reference material 2: HOWTO: Install IAR Eclipse plug-in into S32 Design Studio for ARM
Reference 3: HOWTO: Export S32DS Project to IAR Embedded Workbench for Arm
Reference 4: https://github.com/IARSystems/project-migration-tools
For more information about IAR Embedded Workbench for Arm, see IAR Embedded Workbench for Arm.
For more information about NXP S32K3, please refer to S32K3 Microcontrollers for General Purpose
Previous article:At present, automotive electronic chips have broad market development space and innovation opportunities
Next article:Tesla Model Y has increased its price again, twice in eight days. Are you still waiting?
Recommended ReadingLatest update time:2024-11-16 13:22
- Popular Resources
- Popular amplifiers
- Wireless Sensor Network Technology and Applications (Edited by Mou Si, Yin Hong, and Su Xing)
- Modern Electronic Technology Training Course (Edited by Yao Youfeng)
- Modern arc welding power supply and its control
- Small AC Servo Motor Control Circuit Design (by Masaru Ishijima; translated by Xue Liang and Zhu Jianjun, by Masaru Ishijima, Xue Liang, and Zhu Jianjun)
- Huawei's Strategic Department Director Gai Gang: The cumulative installed base of open source Euler operating system exceeds 10 million sets
- Analysis of the application of several common contact parts in high-voltage connectors of new energy vehicles
- Wiring harness durability test and contact voltage drop test method
- Sn-doped CuO nanostructure-based ethanol gas sensor for real-time drunk driving detection in vehicles
- Design considerations for automotive battery wiring harness
- Do you know all the various motors commonly used in automotive electronics?
- What are the functions of the Internet of Vehicles? What are the uses and benefits of the Internet of Vehicles?
- Power Inverter - A critical safety system for electric vehicles
- Analysis of the information security mechanism of AUTOSAR, the automotive embedded software framework
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- Share a domestic 32-bit M3 microcontroller CH32F103
- In-depth Linux kernel architecture (Chinese version)
- Ask for points
- EEWORLD University ---- Correctly Test MLCC
- Piezoelectric Driven Power Amplifier Application--Piezoelectric Ceramic Impedance Test
- Altium Designer v21.7.1.17
- VGA display image
- Is there any chip solution with dual adjustable PWM frequency and duty cycle?
- Basic principles and driving waveforms of BLDC six-step commutation method
- [Xianji HPM6750EVKMINI Review] 5# HPM6750 Camera Usage