Skip to content

Commit 7da1135

Browse files
Merge pull request #37 from thejpster/prepare-release
Prepare release
2 parents fc1eb78 + 38e95f7 commit 7da1135

File tree

23 files changed

+226
-58
lines changed

23 files changed

+226
-58
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,13 @@ These libraries were originally written by Ferrous Systems, and are based on the
1313
[`cortex-m` libraries]: https://github.com/rust-embedded/cortex-m
1414
[Rust Embedded Devices Working Group]: https://github.com/rust-embedded
1515

16-
There are currently three libraries here:
16+
There are currently five libraries here:
1717

1818
* [cortex-ar](./cortex-ar/) - support library for Cortex-R and Cortex-A CPUs (like [cortex-m])
1919
* [cortex-r-rt](./cortex-r-rt/) - run-time library for Cortex-R CPUs (like [cortex-m-rt])
2020
* [cortex-a-rt](./cortex-a-rt/) - run-time library for Cortex-A CPUs (like [cortex-m-rt])
2121
* [arm-targets](./arm-targets/) - a helper library for your build.rs that sets various `--cfg` flags according to the current target
22+
* [cortex-ar-rt-macros](./cortex-ar-rt-macros/) - macros for `cortex-a-rt` and `cortex-r-rt` (this is an implementation detail - do not use this crate directly)
2223

2324
There are also example programs for QEMU in the [examples](./examples/) folder.
2425

arm-targets/CHANGELOG.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Change Log
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](http://keepachangelog.com/)
6+
and this project adheres to [Semantic Versioning](http://semver.org/).
7+
8+
## [Unreleased]
9+
10+
No changes
11+
12+
## [v0.2.0]
13+
14+
### Added
15+
16+
* `TargetInfo` struct
17+
* Armv7-A support
18+
19+
### Changed
20+
21+
* The `process_target` function returns a `TargetInfo`
22+
23+
## [v0.1.0]
24+
25+
Initial release
26+
27+
[Unreleased]: https://github.com/rust-embedded/cortex-ar/compare/arm-targets-v0.2.0...HEAD
28+
[v0.2.0]: https://github.com/rust-embedded/cortex-ar/compare/arm-targets-v0.1.0...arm-targets-v0.2.0
29+
[v0.1.0]: https://github.com/rust-embedded/cortex-ar/releases/tag/arm-targets-v0.1.0

arm-targets/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
authors = [
33
"Jonathan Pallant <[email protected]>",
4-
"The Cortex-R Team <cortex-r@teams.rust-embedded.org>"
4+
"The Embedded Devices Working Group Arm Team <arm@teams.rust-embedded.org>"
55
]
66
categories = ["development-tools::build-utils"]
77
description = "Compile-time feature detection for Arm processors"
@@ -12,6 +12,6 @@ readme = "README.md"
1212
repository = "https://github.com/rust-embedded/cortex-ar.git"
1313
homepage = "https://github.com/rust-embedded/cortex-ar.git"
1414
rust-version = "1.59"
15-
version = "0.1.0"
15+
version = "0.2.0"
1616

1717
[dependencies]

arm-targets/README.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,17 @@ This allows you to write Rust code in your firmware like:
2929

3030
## Minimum Supported Rust Version (MSRV)
3131

32-
This crate is guaranteed to compile on stable Rust 1.82.0 and up. It *might*
33-
compile with older versions but that may change in any new patch release.
32+
This crate is guaranteed to compile on stable Rust 1.59.0 and up, as recorded
33+
by the `package.rust-version` property in `Cargo.toml`.
34+
35+
Increasing the MSRV is not considered a breaking change and may occur in a
36+
minor version release (e.g. from `0.3.0` to `0.3.1`, because this is still a
37+
`0.x` release).
3438

3539
## Licence
3640

37-
Copyright (c) Ferrous Systems, 2025
41+
* Copyright (c) Ferrous Systems
42+
* Copyright (c) The Rust Embedded Devices Working Group developers
3843

3944
Licensed under either [MIT](./LICENSE-MIT) or [Apache-2.0](./LICENSE-APACHE) at
4045
your option.

cortex-a-rt/CHANGELOG.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,13 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](http://keepachangelog.com/)
66
and this project adheres to [Semantic Versioning](http://semver.org/).
77

8-
## [unreleased]
8+
## [Unreleased]
9+
10+
No changes
11+
12+
## [v0.1.0]
913

1014
Initial release
1115

12-
[unreleased]: https://github.com/rust-embedded/cortex-ar/compare/cortex-a-rt-v0.1.0...HEAD
16+
[Unreleased]: https://github.com/rust-embedded/cortex-ar/compare/cortex-a-rt-v0.1.0...HEAD
1317
[v0.1.0]: https://github.com/rust-embedded/cortex-ar/releases/tag/cortex-a-rt-v0.1.0

cortex-a-rt/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
authors = [
33
"Robin Mueller <[email protected]>",
44
"Jonathan Pallant <[email protected]>",
5-
"The Cortex-R Team <cortex-r@teams.rust-embedded.org>"
5+
"The Embedded Devices Working Group Arm Team <arm@teams.rust-embedded.org>"
66
]
77
description = "Run-Time support for Arm Cortex-A"
88
edition = "2021"
@@ -15,7 +15,7 @@ rust-version = "1.82"
1515
version = "0.1.0"
1616

1717
[dependencies]
18-
cortex-ar = {version = "0.1.0", path = "../cortex-ar"}
18+
cortex-ar = {version = "0.2.0", path = "../cortex-ar"}
1919
cortex-ar-rt-macros = { path = "../cortex-ar-rt-macros", version = "=0.1.0" }
2020

2121
[features]
@@ -26,7 +26,7 @@ eabi-fpu = []
2626
vfp-dp = []
2727

2828
[build-dependencies]
29-
arm-targets = {version = "0.1.0", path = "../arm-targets"}
29+
arm-targets = {version = "0.2.0", path = "../arm-targets"}
3030

3131
[package.metadata.docs.rs]
3232
targets = ["armv7a-none-eabihf"]

cortex-a-rt/README.md

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
1-
# Arm Cortex-A Run-Time
1+
# Run-time support for Arm Cortex-A (AArch32)
2+
3+
This library implements a simple Arm vector table, suitable for getting into a
4+
Rust application running in System Mode. It also provides a reference start
5+
up method. Most Cortex-A based systems will require chip specific start-up
6+
code, so the start-up method can over overridden.
7+
8+
See <https://docs.rs/cortex-a-rt> for detailed documentation.
29

310
## Features
411

@@ -8,8 +15,12 @@
815

916
## Minimum Supported Rust Version (MSRV)
1017

11-
This crate is guaranteed to compile on stable Rust 1.82.0 and up. It *might*
12-
compile with older versions but that may change in any new patch release.
18+
This crate is guaranteed to compile on stable Rust 1.82.0 and up, as recorded
19+
by the `package.rust-version` property in `Cargo.toml`.
20+
21+
Increasing the MSRV is not considered a breaking change and may occur in a
22+
minor version release (e.g. from `0.3.0` to `0.3.1`, because this is still a
23+
`0.x` release).
1324

1425
## Licence
1526

cortex-a-rt/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
//! This library implements a simple Arm vector table, suitable for getting into
44
//! a Rust application running in System Mode. It also provides a reference
55
//! start up method. Most Cortex-A based systems will require chip specific
6-
//! start-up code, so the start-up method can over overriden.
6+
//! start-up code, so the start-up method can over overridden.
77
//!
88
//! The default startup routine provided by this crate does not include any
99
//! special handling for multi-core support because this is oftentimes

cortex-ar-rt-macros/CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Change Log
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](http://keepachangelog.com/)
6+
and this project adheres to [Semantic Versioning](http://semver.org/).
7+
8+
## [Unreleased]
9+
10+
No changes
11+
12+
## [v0.1.0]
13+
14+
Initial release
15+
16+
[Unreleased]: https://github.com/rust-embedded/cortex-ar/compare/cortex-ar-rt-macros-v0.1.0...HEAD
17+
[v0.1.0]: https://github.com/rust-embedded/cortex-ar/releases/tag/cortex-ar-rt-macros-v0.1.0

cortex-ar-rt-macros/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
authors = [
33
"Robin Mueller <[email protected]>",
44
"Jonathan Pallant <[email protected]>",
5-
"The Cortex-R Team <cortex-r@teams.rust-embedded.org>"
5+
"The Embedded Devices Working Group Arm Team <arm@teams.rust-embedded.org>"
66
]
77
description = "Run-Time macros for Arm Cortex-A and Cortex-R"
88
edition = "2021"

cortex-ar-rt-macros/README.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Macros for `cortex-a-rt` and `cortex-r-rt`
2+
3+
This crate contains proc-macros that are re-exported through the following crates:
4+
5+
* [`cortex-a-rt`]
6+
* [`cortex-r-rt`]
7+
8+
[cortex-a-rt]: https://crates.io/crates/cortex-a-rt
9+
[cortex-r-rt]: https://crates.io/crates/cortex-r-rt
10+
11+
## Minimum Supported Rust Version (MSRV)
12+
13+
This crate is guaranteed to compile on stable Rust 1.82.0 and up, as recorded
14+
by the `package.rust-version` property in `Cargo.toml`.
15+
16+
Increasing the MSRV is not considered a breaking change and may occur in a
17+
minor version release (e.g. from `0.3.0` to `0.3.1`, because this is still a
18+
`0.x` release).
19+
20+
## Licence
21+
22+
* Copyright (c) Ferrous Systems
23+
* Copyright (c) The Rust Embedded Devices Working Group developers
24+
25+
Licensed under either [MIT](./LICENSE-MIT) or [Apache-2.0](./LICENSE-APACHE) at
26+
your option.
27+
28+
## Contribution
29+
30+
Unless you explicitly state otherwise, any contribution intentionally submitted
31+
for inclusion in the work by you shall be licensed as above, without any
32+
additional terms or conditions.

cortex-ar/CHANGELOG.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,27 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](http://keepachangelog.com/)
66
and this project adheres to [Semantic Versioning](http://semver.org/).
77

8-
## [unreleased]
8+
## [Unreleased]
9+
10+
## [v0.2.0]
911

1012
### Added
1113

1214
- General support for the Cortex-A architecture.
1315
- New `sev` function in ASM module.
14-
- Compiler fences for `dsb` and `isb`
16+
- Added multi-core-safe critical-section implementation
17+
- Additional EL1 MPU methods `set_region`, `set_attributes` and `background_region_enable`
18+
19+
### Changed
20+
21+
- Timer methods only need `&self` not `&mut self`
22+
- The `dsb` and `isb` functions now include compiler fences
1523
- Added `nomem`, `nostack` and `preserves_flags` options for ASM where applicable.
1624

1725
## [v0.1.0]
1826

1927
Initial release
2028

21-
[unreleased]: https://github.com/rust-embedded/cortex-ar/compare/cortex-ar-v0.1.0...HEAD
29+
[Unreleased]: https://github.com/rust-embedded/cortex-ar/compare/cortex-ar-v0.2.0...HEAD
30+
[v0.2.0]: https://github.com/rust-embedded/cortex-ar/compare/cortex-ar-v0.1.0...cortex-ar-v0.2.0
2231
[v0.1.0]: https://github.com/rust-embedded/cortex-ar/releases/tag/cortex-ar-v0.1.0

cortex-ar/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
authors = [
33
"Jonathan Pallant <[email protected]>",
4-
"The Cortex-R Team <cortex-r@teams.rust-embedded.org>",
4+
"The Embedded Devices Working Group Arm Team <arm@teams.rust-embedded.org>",
55
]
66
categories = [
77
"embedded",
@@ -22,7 +22,7 @@ readme = "README.md"
2222
repository = "https://github.com/rust-embedded/cortex-ar.git"
2323
homepage = "https://github.com/rust-embedded/cortex-ar.git"
2424
rust-version = "1.82"
25-
version = "0.1.0"
25+
version = "0.2.0"
2626

2727
[dependencies]
2828
arbitrary-int = "1.3.0"
@@ -32,7 +32,7 @@ critical-section = {version = "1.2.0", features = ["restore-state-u8"], optional
3232
defmt = {version = "0.3", optional = true}
3333

3434
[build-dependencies]
35-
arm-targets = {version = "0.1.0", path = "../arm-targets"}
35+
arm-targets = {version = "0.2.0", path = "../arm-targets"}
3636

3737
[features]
3838
# Adds a critical-section implementation that only disables interrupts.

cortex-ar/README.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,17 @@ If you need a driver for the Arm Generic Interrupt Controller, see
2222

2323
## Minimum Supported Rust Version (MSRV)
2424

25-
This crate is guaranteed to compile on stable Rust 1.82.0 and up. It *might*
26-
compile with older versions but that may change in any new patch release.
25+
This crate is guaranteed to compile on stable Rust 1.82.0 and up, as recorded
26+
by the `package.rust-version` property in `Cargo.toml`.
27+
28+
Increasing the MSRV is not considered a breaking change and may occur in a
29+
minor version release (e.g. from `0.3.0` to `0.3.1`, because this is still a
30+
`0.x` release).
2731

2832
## Licence
2933

30-
Copyright (c) Ferrous Systems, 2025
34+
* Copyright (c) Ferrous Systems
35+
* Copyright (c) The Rust Embedded Devices Working Group developers
3136

3237
Licensed under either [MIT](./LICENSE-MIT) or [Apache-2.0](./LICENSE-APACHE) at
3338
your option.

cortex-r-rt/CHANGELOG.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,29 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](http://keepachangelog.com/)
66
and this project adheres to [Semantic Versioning](http://semver.org/).
77

8-
## [unreleased]
8+
## [Unreleased]
9+
10+
## [v0.2.0]
911

1012
## Added
1113

1214
- Added ABT und UND mode stack setup.
13-
- Default exception handlers for undefined, prefetch and data abort exceptions
15+
- Default exception handlers for undefined, prefetch abort and data abort exceptions
16+
- SMP support
17+
- Zeroing of registers on start-up
18+
- `#[entry]` and `#[exception]` and `#[interrupt]` macros
1419

1520
## Changed
1621

22+
- Fixed interrupt handler so interrupts can be re-entrant
1723
- Default Rust exception handler is now an empty permanent loop instead of a semihosting exit.
24+
- The SVC asm trampoline can now be over-ridden
25+
- The Undefined, Prefetch and Abort handlers can either return never, or can return a new address to continue executing from when the handler is over
1826

1927
## [v0.1.0]
2028

2129
Initial release
2230

23-
[unreleased]: https://github.com/rust-embedded/cortex-ar/compare/cortex-r-rt-v0.1.0...HEAD
31+
[Unreleased]: https://github.com/rust-embedded/cortex-ar/compare/cortex-r-rt-v0.2.0...HEAD
32+
[v0.2.0]: https://github.com/rust-embedded/cortex-ar/compare/cortex-r-rt-v0.1.0...cortex-r-rt-v0.2.0
2433
[v0.1.0]: https://github.com/rust-embedded/cortex-ar/releases/tag/cortex-r-rt-v0.1.0

cortex-r-rt/Cargo.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
authors = [
33
"Jonathan Pallant <[email protected]>",
4-
"The Cortex-R Team <cortex-r@teams.rust-embedded.org>"
4+
"The Embedded Devices Working Group Arm Team <arm@teams.rust-embedded.org>"
55
]
66
categories = [
77
"embedded",
@@ -21,19 +21,19 @@ name = "cortex-r-rt"
2121
readme = "README.md"
2222
repository = "https://github.com/rust-embedded/cortex-r.git"
2323
rust-version = "1.82"
24-
version = "0.1.0"
24+
version = "0.2.0"
2525

2626
[dependencies]
27-
cortex-ar = {version = "0.1.0", path = "../cortex-ar"}
27+
cortex-ar = {version = "0.2.0", path = "../cortex-ar"}
2828
semihosting = {version = "0.1.18", features = ["stdio"]}
29-
cortex-ar-rt-macros = { path = "../cortex-ar-rt-macros", version = "=0.1.0" }
29+
cortex-ar-rt-macros = {path = "../cortex-ar-rt-macros", version = "=0.1.0"}
3030

3131
[features]
3232
# Enable the FPU on start-up, even on a soft-float EABI target
3333
eabi-fpu = []
3434

3535
[build-dependencies]
36-
arm-targets = {version = "0.1.0", path = "../arm-targets"}
36+
arm-targets = {version = "0.2.0", path = "../arm-targets"}
3737

3838
[package.metadata.docs.rs]
3939
targets = ["armv7r-none-eabihf", "armv7r-none-eabihf"]

cortex-r-rt/README.md

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,25 @@
1-
# Arm Cortex-R Run-Time
1+
# Run-time support for Arm Cortex-R (AArch32)
2+
3+
This library implements a simple Arm vector table, suitable for getting into a
4+
Rust application running in System Mode. It also provides a reference start
5+
up method. Most Cortex-R based systems will require chip specific start-up
6+
code, so the start-up method can over overridden.
7+
8+
See <https://docs.rs/cortex-r-rt> for detailed documentation.
29

310
## Minimum Supported Rust Version (MSRV)
411

5-
This crate is guaranteed to compile on stable Rust 1.82.0 and up. It *might*
6-
compile with older versions but that may change in any new patch release.
12+
This crate is guaranteed to compile on stable Rust 1.82.0 and up, as recorded
13+
by the `package.rust-version` property in `Cargo.toml`.
14+
15+
Increasing the MSRV is not considered a breaking change and may occur in a
16+
minor version release (e.g. from `0.3.0` to `0.3.1`, because this is still a
17+
`0.x` release).
718

819
## Licence
920

10-
Copyright (c) Ferrous Systems, 2025
21+
* Copyright (c) Ferrous Systems
22+
* Copyright (c) The Rust Embedded Devices Working Group developers
1123

1224
Licensed under either [MIT](./LICENSE-MIT) or [Apache-2.0](./LICENSE-APACHE) at
1325
your option.

0 commit comments

Comments
 (0)