# c-coding

Published articles for c-coding.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Agnostic Build System: Powertrain build

DevFeed: [Agnostic Build System: Powertrain build](<https://devfeed.tech/articles/agnostic-build-system-powertrain-build-28866.md>)

Original publisher: [Read original article](<https://medium.com/volvo-cars-engineering/agnostic-build-system-powertrain-build-53cb007dfa7f?source=rss----4eed8113139---4>)

Author: Johannes Foufas

Published: 2024-06-18T09:48:37Z

Content type: release

Language: en

Sources: [Volvo Cars Engineering - Medium](<https://devfeed.tech/sources/volvo-cars-engineering-medium.md>)

Topics: [Embedded Software Dev](<https://devfeed.tech/topics/embedded-software-dev.md>), [Python](<https://devfeed.tech/topics/python.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [JSON](<https://devfeed.tech/topics/json.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [automotive](<https://devfeed.tech/tags/automotive.md>), [automotive-software](<https://devfeed.tech/tags/automotive-software.md>), [autosar](<https://devfeed.tech/tags/autosar.md>), [build-system](<https://devfeed.tech/tags/build-system.md>), [c-coding](<https://devfeed.tech/tags/c-coding.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [embedded](<https://devfeed.tech/tags/embedded.md>), [json](<https://devfeed.tech/tags/json.md>), [python](<https://devfeed.tech/tags/python.md>), [release](<https://devfeed.tech/tags/release.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

The article announces Volvo Cars' Powertrain Build project, a Python-based build system for automotive embedded software. It supports moving source code between POSIX-based and legacy embedded ECU targets, Software in the Loop testing, and continuous integration through Zuul. It also describes JSON-based project, base, and unit configuration files, unit tests, and HTML documentation.

### Source excerpt

Powering Volvo Cars' Software Builds We are thrilled to announce the release of the Volvo Cars Powertrain Build project, now available on OpenDev! As a build system tailored for embedded software development using DSpace Target Link or Mathworks Embedded coder, this project is set to improve the way we as automotive embedded engineers handle our code bases. The idea is to make it easy to move between different targets, enable Software in the Loop (SIL) testing, and streamline our continuous integration (CI) processes. Powertrain build offers to efficiently move embedded source code between different embedded targets, both Posix based and old school embedded ECU's. This build system does what AUTOSAR never did, and is a tool that prepares us for the future of the car OS. Check out the article below to learn more about AUTOSAR: The reality of AUTOSAR and the way forward Our Powertrain Build project is designed to work harmoniously with the Zuul CI system. This ensures that all code changes are automatically tested and validated, providing continuous feedback to developers and maintaining the integrity of our codebase. What is it? The build system is written in Python for ease of use and flexibility, and these are the build options. py -3.10 pybuild.wrapper --build ABC_123 Projects are defined in .json using Project, base and Unit configs. The project config file contains project specific configuration settings and references to other configuration files. The base config file shares the same structure as the project config file and can be used for non project-specific configuration settings and default values, these could for instance be diagnostic core dummy file names. The units config file contains information about included software units and scheduling rasters. The software units are executed in the order they are defined within each time raster definition. { "SampleTimes": { "VcExt10ms": 0.01 }, "VcExt10ms": [ "VcDebug", "VcCarCfg", ] } Schedulers are not include