Skip to content

Commit 9553b1b

Browse files
stephanosionashif
authored andcommitted
README: Update for new multi-platform Zephyr SDK
This commit removes obsolete information from the README file and adds information related to the new multi-platform Zephyr SDK as well as the new CI infrastructure. Signed-off-by: Stephanos Ioannidis <[email protected]>
1 parent 0511b0c commit 9553b1b

File tree

1 file changed

+52
-55
lines changed

1 file changed

+52
-55
lines changed

README.md

Lines changed: 52 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,61 @@
1-
# Zephyr SDK with Crosstool NG
2-
3-
This project is to replace the previous Yocto based SDK with a new framework for
4-
building the Zephyr SDK using [crosstool-ng](https://crosstool-ng.github.io/).
5-
(Some tools are still built using Yocto/Bitbake).
6-
7-
The repository consists of configurations for the various architectures (not all
8-
fully tested) and a script that builds on Linux (x86_64) and Mac in a consistent
9-
way, applying patches where needed.
10-
11-
Currently we build the following toolchains:
12-
- i586
13-
- nios2
14-
- arc
15-
- arc64
16-
- arm
17-
- arm64
18-
- riscv64
19-
- sparc
20-
- mips
21-
- xtensa (sample_controller, intel_apl_adsp, intel_s1000, intel_bdw_adsp,
22-
intel_byt_adsp, nxp_imx_adsp, nxp_imx8m_adsp)
23-
24-
To build for any of the above, run:
25-
26-
```
27-
./go.sh <arch>
28-
```
29-
30-
Production builds are done using the scripts in `.buildkite/` and
31-
`.github/workflows/` which identify some packages you'll need to
32-
have installed for the above command to work.
33-
34-
When building locally be aware that `./go.sh` is written assuming it's
35-
invoked in a pristine workspace. That means if you pull an update of
36-
this repository `./go.sh` will not update the `crosstool-ng` source or
37-
rebuild the `bin/ct-ng` utility to match the updated configuration. This
38-
can produce very confusing results.
39-
40-
## Released Binaries packages
41-
42-
Pre-built binary releases of the SDK are made for a few OSes and host
43-
architectures. They can be found here:
1+
# Zephyr SDK
2+
3+
The Zephyr Software Development Kit (SDK) includes the toolchains for all
4+
supported target architectures as well as the host tools, such as QEMU and
5+
OpenOCD, for testing and debugging the Zephyr RTOS.
6+
7+
The toolchains for the following target architectures are supported:
8+
9+
- ARC (32-bit and 64-bit; ARCv1, ARCv2, ARCv3)
10+
- ARM (32-bit and 64-bit; ARMv6, ARMv7, ARMv8; A/R/M Profiles)
11+
- MIPS (32-bit and 64-bit)
12+
- Nios II
13+
- RISC-V (32-bit and 64-bit; RV32I, RV32E, RV64I)
14+
- x86 (32-bit and 64-bit)
15+
- Xtensa (sample_controller, intel_apl_adsp, intel_bdw_adsp, intel_byt_adsp,
16+
intel_s1000, nxp_imx_adsp, nxp_imx8m_adsp)
17+
18+
The following host tools are available as part of the Zephyr SDK:
19+
20+
- BOSSA
21+
- OpenOCD
22+
- QEMU
23+
- Xilinx QEMU
24+
25+
## Releases
26+
27+
The Zephyr SDK bundle releases are available for the following host platforms:
28+
29+
- Linux (AArch64, x86-64)
30+
- macOS (AArch64, x86-64)
31+
- Windows (x86-64)
32+
33+
These binaries can be downloaded from here:
4434

4535
https://github.com/zephyrproject-rtos/sdk-ng/releases
4636

47-
## PR Builds
37+
## Build Process
38+
39+
The Zephyr Project maintains the infrastructure necessary to build and test the
40+
Zephyr SDK, and it is highly recommended to utilise this infrastructure for
41+
generating the Zephyr SDK binaries.
4842

49-
Successfull PR builds will get posted here:
43+
When you submit a pull request to the Zephyr SDK repository, CI will
44+
automatically build and test the Zephyr SDK with the changes in the pull
45+
request and upload the binaries to the pull request check run, which you can
46+
download for further local testing as necessary.
5047

51-
```
52-
https://builds.zephyrproject.org/zephyrproject-rtos/sdk-ng/<PR_NUMBER>/zephyr-sdk-<VERSION>-setup.run
53-
```
48+
Locally building the Zephyr SDK is currently not supported because setting up
49+
the environment to do so is highly complex and the resource requirements far
50+
exceed what is found on common developer machines.
5451

5552
## Release Process
5653

57-
To release a new SDK:
54+
To create a new Zephyr SDK release:
5855

59-
- Update the VERSION file with the new version, for example 0.11.0 or
60-
0.11.0-beta1 etc.
61-
- On https://github.com/zephyrproject-rtos/sdk-ng/releases, create the release
62-
tag and add the release information.
63-
- Once the release is created, CI will build the SDK image and will upload it to
64-
the release page.
56+
- Update the VERSION file with the new version (e.g. 0.11.0 or 0.11.0-beta1)
57+
- On https://github.com/zephyrproject-rtos/sdk-ng/releases, create a new tag
58+
named with the version number prefixed with `v` (e.g. for the version 0.11.0,
59+
the tag name should be `v0.11.0`) and add the release information.
60+
- Once the release is published, CI will build the Zephyr SDK bundles for all
61+
supported host platforms and will upload the binaries to the release page.

0 commit comments

Comments
 (0)