Closed
Description
This issue covers a meta-tool that would run from the command-line in order to build, flash, run, simulate, integrate, etc Zephyr-based images.
Motivation
West is to be added to the Zephyr project to fulfill two fundamental requirements:
- The ability to work with multiple Git repositories
- The ability to provide a user-friendly command-line interface to the Zephyr
build system and debug mechanisms
Fundamental design constraints
- Building, flashing and debugging must remain compatible with raw CMake
- One must always be able to drop back to raw command-line (not using the meta-tool directly, although the tool must be installed) and continue working
- The tools will be written in Python, and split into libraries when possible/adequate
Basic scope
- Multiple repository management, including fetching and updating repositories that have known integration with Zephyr, such as MCUboot, OpenThread and others.
- Build, flash, debug, run
- Bootloader integration. Including image signing, image flashing (with offset) and building the bootloader itself
- Advanced emulator support, including potentially networking setup with QEMU
Extended scope
- Multi-core applications (Improve Multi Core support #3066)
- Console
- Firmware update
- Device Management
Scope of the CMake build system (with the help of the tool):
- Building
- Flashing (raw at address 0x0)
- Debugging
- Basic emulator usage
Features and Commands to be supported:
- bootstrap
- init
- sync (update repositories from remotes named in manifest) @ulfalizer
- branch
- diff
- status
- build (TBD, no multi-image support yet) @mbolivar