aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jorge Aparicio <japaricious@gmail.com> 2016-10-04 13:48:57 -0500
committerGravatar Jorge Aparicio <japaricious@gmail.com> 2016-10-04 13:48:57 -0500
commitb49c787497c7cf6b484af7b9fe11480c25d2d81b (patch)
tree78d7395c5067518801a34145ec0f8f5ae3db9575
parentcf4c18f93dd51da21da2cc08315fb61c0ecbb344 (diff)
downloadcortex-m-b49c787497c7cf6b484af7b9fe11480c25d2d81b.tar.gz
cortex-m-b49c787497c7cf6b484af7b9fe11480c25d2d81b.tar.zst
cortex-m-b49c787497c7cf6b484af7b9fe11480c25d2d81b.zip
fix read/write operation on special registers
-rw-r--r--src/register.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/register.rs b/src/register.rs
index 7df068f..dbd3bed 100644
--- a/src/register.rs
+++ b/src/register.rs
@@ -38,7 +38,7 @@ macro_rules! sr {
let r: u32;
match () {
#[cfg(target_arch = "arm")]
- () => asm!(concat!("msr ", stringify!($name), ",$0") : "=r"(r) ::: "volatile"),
+ () => asm!(concat!("mrs ", "$0,", stringify!($name)) : "=r"(r) ::: "volatile"),
#[cfg(not(target_arch = "arm"))]
() => r = 0,
@@ -59,7 +59,7 @@ macro_rules! srw {
pub unsafe fn write(r: u32) {
match r {
#[cfg(target_arch = "arm")]
- _ => asm!(concat!("mrs ", "$0,", stringify!($name)) :: "r"(r) ::: "volatile"),
+ _ => asm!(concat!("msr ", stringify!($name), ",$0") :: "r"(r) ::: "volatile"),
#[cfg(not(target_arch = "arm"))]
_ => {},