aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml4
-rw-r--r--Cargo.toml7
-rwxr-xr-xassemble.sh3
-rw-r--r--bin/thumbv8m.main-none-eabi.abin0 -> 2720 bytes
-rw-r--r--src/itm.rs6
-rw-r--r--src/peripheral/scb.rs2
-rw-r--r--src/peripheral/test.rs2
7 files changed, 17 insertions, 7 deletions
diff --git a/.travis.yml b/.travis.yml
index ac4b63c..1aead9b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -38,6 +38,10 @@ matrix:
rust: nightly
if: (branch = staging OR branch = trying) OR (type = pull_request AND branch = master)
+ - env: TARGET=thumbv8m.main-none-eabi
+ rust: nightly
+ if: (branch = staging OR branch = trying) OR (type = pull_request AND branch = master)
+
before_install: set -e
install:
diff --git a/Cargo.toml b/Cargo.toml
index cf46c29..96d4f20 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,5 +1,8 @@
[package]
-authors = ["Jorge Aparicio <jorge@japaric.io>"]
+authors = [
+ "The Cortex-M Team <cortex-m@teams.rust-embedded.org>",
+ "Jorge Aparicio <jorge@japaric.io>",
+]
categories = ["embedded", "hardware-support", "no-std"]
description = "Low level access to Cortex-M processors"
documentation = "https://docs.rs/cortex-m"
@@ -11,7 +14,7 @@ repository = "https://github.com/japaric/cortex-m"
version = "0.5.8"
[dependencies]
-aligned = "0.2.0"
+aligned = "0.3.1"
bare-metal = "0.2.0"
volatile-register = "0.2.0"
diff --git a/assemble.sh b/assemble.sh
index f003f58..28494a9 100755
--- a/assemble.sh
+++ b/assemble.sh
@@ -25,6 +25,9 @@ ar crs bin/thumbv7em-none-eabihf.a bin/$crate.o bin/$crate-v7.o bin/$crate-cm7-r
arm-none-eabi-as -march=armv8-m.base asm.s -o bin/$crate.o
ar crs bin/thumbv8m.base-none-eabi.a bin/$crate.o
+arm-none-eabi-as -march=armv8-m.main asm.s -o bin/$crate.o
+ar crs bin/thumbv8m.main-none-eabi.a bin/$crate.o
+
rm bin/$crate.o
rm bin/$crate-v7.o
rm bin/$crate-cm7-r0p1.o
diff --git a/bin/thumbv8m.main-none-eabi.a b/bin/thumbv8m.main-none-eabi.a
new file mode 100644
index 0000000..6dddb2e
--- /dev/null
+++ b/bin/thumbv8m.main-none-eabi.a
Binary files differ
diff --git a/src/itm.rs b/src/itm.rs
index 0e32e3c..4f8dcf8 100644
--- a/src/itm.rs
+++ b/src/itm.rs
@@ -4,7 +4,7 @@
use core::{fmt, mem, ptr, slice};
-use aligned::Aligned;
+use aligned::{Aligned, A4};
use peripheral::itm::Stim;
@@ -77,7 +77,7 @@ pub fn write_all(port: &mut Stim, buffer: &[u8]) {
/// # Examples
///
/// ``` ignore
-/// let mut buffer: Aligned<u32, _> = Aligned([0; 14]);
+/// let mut buffer: Aligned<A4, _> = Aligned([0; 14]);
///
/// buffer.copy_from_slice(b"Hello, world!\n");
///
@@ -86,7 +86,7 @@ pub fn write_all(port: &mut Stim, buffer: &[u8]) {
/// // Or equivalently
/// itm::write_aligned(&itm.stim[0], &Aligned(*b"Hello, world!\n"));
/// ```
-pub fn write_aligned(port: &mut Stim, buffer: &Aligned<u32, [u8]>) {
+pub fn write_aligned(port: &mut Stim, buffer: &Aligned<A4, [u8]>) {
unsafe {
let len = buffer.len();
diff --git a/src/peripheral/scb.rs b/src/peripheral/scb.rs
index 4bf9270..c82e098 100644
--- a/src/peripheral/scb.rs
+++ b/src/peripheral/scb.rs
@@ -48,7 +48,7 @@ pub struct RegisterBlock {
pub shpr: [RW<u32>; 2],
/// System Handler Control and State
- pub shcrs: RW<u32>,
+ pub shcsr: RW<u32>,
/// Configurable Fault Status (not present on Cortex-M0 variants)
#[cfg(not(armv6m))]
diff --git a/src/peripheral/test.rs b/src/peripheral/test.rs
index 5c6ce2d..d0d713a 100644
--- a/src/peripheral/test.rs
+++ b/src/peripheral/test.rs
@@ -129,7 +129,7 @@ fn scb() {
assert_eq!(address(&scb.scr), 0xE000_ED10);
assert_eq!(address(&scb.ccr), 0xE000_ED14);
assert_eq!(address(&scb.shpr), 0xE000_ED18);
- assert_eq!(address(&scb.shcrs), 0xE000_ED24);
+ assert_eq!(address(&scb.shcsr), 0xE000_ED24);
assert_eq!(address(&scb.cfsr), 0xE000_ED28);
assert_eq!(address(&scb.hfsr), 0xE000_ED2C);
assert_eq!(address(&scb.dfsr), 0xE000_ED30);