Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
# dev-qemu is intentionally excluded from binsize benchmarks: it targets QEMU virt
# and uses semihosting, so its ELF section layout doesn't represent real flash/RAM
# footprint the way the SoC-backed platforms do.
platform: ["dev-imxrt", "dev-npcx"]
platform: ["dev-imxrt", "dev-npcx", "dev-mcxa"]
steps:
- uses: actions/checkout@v4
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cargo-vet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
strategy:
fail-fast: false
matrix:
platform: ["dev-imxrt", "dev-npcx", "dev-qemu"]
platform: ["dev-imxrt", "dev-npcx", "dev-qemu", "dev-mcxa"]
Comment thread
tullom marked this conversation as resolved.
env:
CARGO_VET_VERSION: 0.10.2
steps:
Expand Down
17 changes: 13 additions & 4 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
strategy:
fail-fast: false
matrix:
platform: ["platform-common", "dev-imxrt", "dev-npcx", "dev-qemu"]
platform: ["platform-common", "dev-imxrt", "dev-npcx", "dev-qemu", "dev-mcxa"]
Comment thread
tullom marked this conversation as resolved.

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -67,7 +67,7 @@ jobs:
matrix:
# Get early warning of new lints which are regularly introduced in beta channels.
toolchain: [stable]
platform: ["platform-common", "dev-imxrt", "dev-npcx", "dev-qemu"]
platform: ["platform-common", "dev-imxrt", "dev-npcx", "dev-qemu", "dev-mcxa"]

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -117,6 +117,8 @@ jobs:
target: thumbv7em-none-eabihf
- platform: dev-qemu
target: riscv32imac-unknown-none-elf
- platform: dev-mcxa
target: thumbv8m.main-none-eabihf

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -151,6 +153,8 @@ jobs:
target: thumbv7em-none-eabihf
- platform: dev-qemu
target: riscv32imac-unknown-none-elf
- platform: dev-mcxa
target: thumbv8m.main-none-eabihf

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -180,7 +184,7 @@ jobs:
strategy:
fail-fast: false
matrix:
platform: ["dev-imxrt", "dev-npcx", "dev-qemu"]
platform: ["dev-imxrt", "dev-npcx", "dev-qemu", "dev-mcxa"]

steps:
- uses: actions/checkout@v4
Expand All @@ -205,7 +209,7 @@ jobs:
strategy:
fail-fast: false
matrix:
platform: ["dev-imxrt", "dev-npcx", "dev-qemu"]
platform: ["dev-imxrt", "dev-npcx", "dev-qemu", "dev-mcxa"]

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -237,6 +241,8 @@ jobs:
target: thumbv7em-none-eabihf
- platform: dev-qemu
target: riscv32imac-unknown-none-elf
- platform: dev-mcxa
target: thumbv8m.main-none-eabihf
msrv: ["1.83"] # We're relying on namespaced-features, which
# was released in 1.60
#
Expand Down Expand Up @@ -290,6 +296,9 @@ jobs:
- platform: dev-qemu
target: riscv32imac-unknown-none-elf
needs_flip_link: false
- platform: dev-mcxa
target: thumbv8m.main-none-eabihf
needs_flip_link: true

steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/nostd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ jobs:
target: thumbv7em-none-eabihf
- platform: dev-qemu
target: riscv32imac-unknown-none-elf
- platform: dev-mcxa
target: thumbv8m.main-none-eabihf

steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/rolling.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ jobs:
target: thumbv7em-none-eabihf
- platform: dev-qemu
target: riscv32imac-unknown-none-elf
- platform: dev-mcxa
target: thumbv8m.main-none-eabihf

steps:
- uses: actions/checkout@v4
Expand Down
1 change: 1 addition & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,6 @@
"platform/dev-imxrt/Cargo.toml",
"platform/dev-npcx/Cargo.toml",
"platform/dev-qemu/Cargo.toml",
"platform/dev-mcxa/Cargo.toml",
]
}
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ integration testing, and as a starting point for downstream EC projects.

## Scope

This repository hosts the three public `dev-*` development targets and their
This repository hosts the four public `dev-*` development targets and their
shared `platform-common` library. Vendor- and silicon-specific production
platforms are maintained separately and are not in scope here.

Expand All @@ -17,6 +17,7 @@ platforms are maintained separately and are not in scope here.
|-------|------|--------|
| `platform-common` | Shared `no_std` library crate — HAL traits, board abstractions, common services | (library, no build target) |
| `dev-imxrt` | Development target on NXP i.MXRT685S (Cortex-M33) | `thumbv8m.main-none-eabihf` |
| `dev-mcxa` | Development target on NXP MCXA266 (Cortex-M33) | `thumbv8m.main-none-eabihf` |
| `dev-npcx` | Development target on Nuvoton NPCX498M (Cortex-M4F) | `thumbv7em-none-eabihf` |
| `dev-qemu` | Development target under QEMU `virt` machine (RISC-V 32-bit) | `riscv32imac-unknown-none-elf` |

Expand All @@ -33,7 +34,7 @@ Toolchain channel and targets are pinned in `rust-toolchain.toml`:
All three `dev-*` targets are installed automatically the first time `cargo` is
invoked inside this repo; no manual `rustup target add` is required.

`dev-imxrt` and `dev-npcx` link via [`flip-link`](https://github.com/knurling-rs/flip-link)
`dev-imxrt`, `dev-mcxa`, and `dev-npcx` link via [`flip-link`](https://github.com/knurling-rs/flip-link)
for stack-overflow protection. Install it once:

```
Expand Down
2 changes: 1 addition & 1 deletion docs/supply-chain.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ It matches all dependencies against a set of audits conducted by the authors of
To learn more, visit [mozilla/cargo-vet](https://github.com/mozilla/cargo-vet)


This repository contains three independent platform crates (`platform/dev-imxrt`, `platform/dev-npcx`, `platform/dev-qemu`), each with its own `Cargo.lock` and its own `supply-chain/` store. Run all `cargo vet` commands from the relevant platform directory.
This repository contains platform crates (`platform/dev-imxrt`, `platform/dev-mcxa`, `platform/dev-npcx`, `platform/dev-qemu`), each with its own `Cargo.lock` and its own `supply-chain/` store. Run all `cargo vet` commands from the relevant platform directory.

---

Expand Down
21 changes: 21 additions & 0 deletions platform/dev-mcxa/.cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
[target.thumbv8m.main-none-eabihf]
runner = 'probe-rs run --chip MCXA276 --preverify --verify --protocol swd --speed 12000'

rustflags = [
"-C",
"linker=flip-link",
"-C",
"link-arg=-Tlink.x",
"-C",
"link-arg=-Tdefmt.x",
# This is needed if your flash or ram addresses are not aligned to 0x10000 in memory.x
# See https://github.com/rust-embedded/cortex-m-quickstart/pull/95
"-C",
"link-arg=--nmagic",
]

[build]
target = "thumbv8m.main-none-eabihf" # Cortex-M33

[env]
DEFMT_LOG = "trace"
Loading
Loading