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
33 changes: 2 additions & 31 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,36 +88,6 @@ jobs:
cargo +nightly-2025-10-29 build --target ${{ matrix.target }} -Zbuild-std=core
cargo +nightly-2025-10-29 build --target ${{ matrix.target }} -Zbuild-std=core --features "serde, defmt, check-asm"

build-versatileab:
runs-on: ubuntu-24.04
needs: setup
strategy:
matrix:
rust: ${{ fromJSON(needs.setup.outputs.matrix).rust }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build
run: |
cd examples/versatileab
cargo build --target armv7a-none-eabi
cargo build --target armv7r-none-eabi
cargo build --target armv7r-none-eabihf

build-mps3-an536:
runs-on: ubuntu-24.04
needs: setup
strategy:
matrix:
rust: ${{ fromJSON(needs.setup.outputs.matrix).rust }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build
run: |
cd examples/mps3-an536
cargo build --target armv8r-none-eabihf

# Build the host tools
build-host:
runs-on: ubuntu-24.04
Expand All @@ -141,7 +111,7 @@ jobs:
# Gather all the above build jobs together for the purposes of getting an overall pass-fail
build-all:
runs-on: ubuntu-24.04
needs: [build-tier2, build-tier2-nightly, build-tier3-no-atomics, build-host, build-versatileab, build-mps3-an536]
needs: [build-tier2, build-tier2-nightly, build-tier3-no-atomics, build-host]
steps:
- run: /bin/true

Expand Down Expand Up @@ -301,6 +271,7 @@ jobs:
cargo test --manifest-path aarch32-cpu/Cargo.toml

# Run some programs in QEMU 9
# These tests build with nightly as pinned by the rust-toolchain.toml file, because they include Tier 3 targets
qemu-test:
runs-on: ubuntu-24.04
needs: [build-all]
Expand Down
13 changes: 11 additions & 2 deletions aarch32-cpu/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,18 @@ and this project adheres to [Semantic Versioning](http://semver.org/).

## [Unreleased]

## [aarch32-cpu v0.1.0]

### Added

- ARMv4T and ARMv5TE support
- Thumb mode target support

### Changed

- Renamed from `cortex-ar` to `aarch32-cpu`
- Added ARMv4T and ARMv5TE support
- Restarted numbering from 0.1.0
- All BAR register types now hold plain `u32`, not `*mut u32` - fixes issues with `serde` derives on some types

## [cortex-ar v0.3.0]

Expand Down Expand Up @@ -54,7 +62,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/).

Initial release

[Unreleased]: https://github.com/rust-embedded/aarch32/compare/cortex-ar-v0.3.0...HEAD
[Unreleased]: https://github.com/rust-embedded/aarch32/compare/aarch32-cpu-v0.1.0...HEAD
[aarch32-cpu v0.1.0]: https://github.com/rust-embedded/aarch32/compare/cortex-ar-v0.3.0...aarch32-cpu-v0.1.0
[cortex-ar v0.3.0]: https://github.com/rust-embedded/aarch32/compare/cortex-ar-v0.2.0...cortex-ar-v0.3.0
[cortex-ar v0.2.0]: https://github.com/rust-embedded/aarch32/compare/cortex-ar-v0.1.0...cortex-ar-v0.2.0
[cortex-ar v0.1.0]: https://github.com/rust-embedded/aarch32/releases/tag/cortex-ar-v0.1.0
2 changes: 1 addition & 1 deletion aarch32-cpu/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ defmt = { version = "1", optional = true }
serde = { version = "1", features = ["derive"], default-features = false, optional = true }

[build-dependencies]
arm-targets = { version = "0.3.0", path = "../arm-targets" }
arm-targets = { version = "0.4.0", path = "../arm-targets" }

[features]
# Adds a critical-section implementation that only disables interrupts.
Expand Down
7 changes: 5 additions & 2 deletions aarch32-rt-macros/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/).

## [Unreleased]

- Renamed to `aarch32-rt-macros`
## [aarch32-rt-macros v0.1.0]

- Renamed to `aarch32-rt-macros`, restarted numbering from 0.1.0

## [cortex-ar-rt-macros v0.1.1]

Expand All @@ -17,6 +19,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).

Initial release

[Unreleased]: https://github.com/rust-embedded/aarch32/compare/cortex-ar-rt-macros-v0.1.1...HEAD
[Unreleased]: https://github.com/rust-embedded/aarch32/compare/aarch32-rt-macros-v0.1.0...HEAD
[aarch32-rt-macros v0.1.0]: https://github.com/rust-embedded/aarch32/compare/cortex-ar-rt-macros-v0.1.1...aarch32-rt-macros-v0.1.0
[cortex-ar-rt-macros v0.1.1]: https://github.com/rust-embedded/aarch32/compare/cortex-ar-rt-macros-v0.1.0...cortex-ar-rt-macros-v0.1.1
[cortex-ar-rt-macros v0.1.0]: https://github.com/rust-embedded/aarch32/releases/tag/cortex-ar-rt-macros-v0.1.0
15 changes: 12 additions & 3 deletions aarch32-rt/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,19 @@ and this project adheres to [Semantic Versioning](http://semver.org/).

## [Unreleased]

## [aarch32-rt v0.1.0]

### Added

- ARMv7-A support, by merging with the old `cortex-a-rt` crate
- ARMv4T and ARMv5TE support
- Thumb mode target support
- `fpu-d32` feature (was called `vfp-dp` in the old `cortex-a-rt`)

### Changed

- Renamed from `cortex-r-rt` to `aarch32-rt`
- Added ARMv4T and ARMv5TE support
- Added `fpu-d32` feature
- Restarted numbering from 0.1.0
- Fixed SVC handling from T32 mode

## [cortex-r-rt v0.2.1]
Expand Down Expand Up @@ -42,7 +50,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/).

Initial release

[Unreleased]: https://github.com/rust-embedded/aarch32/compare/cortex-r-rt-v0.2.1...HEAD
[Unreleased]: https://github.com/rust-embedded/aarch32/compare/aarch32-rt-v0.1.0...HEAD
[aarch32-rt v0.1.0]: https://github.com/rust-embedded/aarch32/compare/cortex-r-rt-v0.2.1...aarch32-rt-v0.1.0
[cortex-r-rt v0.2.1]: https://github.com/rust-embedded/aarch32/compare/cortex-r-rt-v0.2.0...cortex-r-rt-v0.2.1
[cortex-r-rt v0.2.0]: https://github.com/rust-embedded/aarch32/compare/cortex-r-rt-v0.1.0...cortex-r-rt-v0.2.0
[cortex-r-rt v0.1.0]: https://github.com/rust-embedded/aarch32/releases/tag/cortex-r-rt-v0.1.0
4 changes: 2 additions & 2 deletions aarch32-rt/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ description = "Run-time support for Arm AArch32"
edition = "2021"
keywords = [
"arm",
"cortex-r",
"aarch32",
"embedded",
"no-std",
"run-time",
Expand All @@ -37,7 +37,7 @@ eabi-fpu = []
fpu-d32 = []

[build-dependencies]
arm-targets = { version = "0.3.0", path = "../arm-targets" }
arm-targets = { version = "0.4.0", path = "../arm-targets" }

[package.metadata.docs.rs]
targets = ["armv7r-none-eabihf", "armv7r-none-eabihf", "armv7a-none-eabi"]
6 changes: 6 additions & 0 deletions aarch32-rt/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,12 @@
//! ## Features
//!
//! - `eabi-fpu`: Enables the FPU, even if you selected a soft-float ABI target.
//! - `fpu-d32`: Make the interrupt context store routines save the upper
//! double-precision registers.
//!
//! If your program is using all 32 double-precision registers (e.g. if you
//! have set the `+d32` target feature) then you need to enable this option
//! otherwise important FPU state may be lost when an exception occurs.
//!
//! ## Information about the Run-Time
//!
Expand Down
13 changes: 12 additions & 1 deletion arm-targets/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](http://semver.org/).

## [Unreleased]

## [v0.4.0]

### Added

- Added `Arch::Armv6`

### Changed

- Targets starting with `thumb` are identified as T32 targets

## [v0.3.0]

### Added
Expand All @@ -32,7 +42,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/).

Initial release

[Unreleased]: https://github.com/rust-embedded/aarch32/compare/arm-targets-v0.3.0...HEAD
[Unreleased]: https://github.com/rust-embedded/aarch32/compare/arm-targets-v0.4.0...HEAD
[v0.4.0]: https://github.com/rust-embedded/aarch32/compare/arm-targets-v0.3.0...arm-targets-v0.4.0
[v0.3.0]: https://github.com/rust-embedded/aarch32/compare/arm-targets-v0.2.0...arm-targets-v0.3.0
[v0.2.0]: https://github.com/rust-embedded/aarch32/compare/arm-targets-v0.1.0...arm-targets-v0.2.0
[v0.1.0]: https://github.com/rust-embedded/aarch32/releases/tag/arm-targets-v0.1.0
2 changes: 1 addition & 1 deletion arm-targets/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@ readme = "README.md"
repository = "https://github.com/rust-embedded/aarch32.git"
homepage = "https://github.com/rust-embedded/aarch32"
rust-version = "1.59"
version = "0.3.0"
version = "0.4.0"

[dependencies]
2 changes: 1 addition & 1 deletion examples/mps3-an536/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ libm = "0.2.15"
semihosting = { version = "0.1.18", features = ["stdio"] }

[build-dependencies]
arm-targets = {version = "0.3.0", path = "../../arm-targets"}
arm-targets = {version = "0.4.0", path = "../../arm-targets"}

[features]
eabi-fpu = ["aarch32-rt/eabi-fpu"]
Expand Down
2 changes: 1 addition & 1 deletion examples/versatileab/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ portable-atomic = { version = "1.11.1", features = ["critical-section"] }
semihosting = { version = "0.1.18", features = ["stdio"] }

[build-dependencies]
arm-targets = { version = "0.3.0", path = "../../arm-targets" }
arm-targets = { version = "0.4.0", path = "../../arm-targets" }

[features]
eabi-fpu = ["aarch32-rt/eabi-fpu"]
Expand Down