aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/macros.rs3
-rw-r--r--src/peripheral/scb.rs6
2 files changed, 9 insertions, 0 deletions
diff --git a/src/macros.rs b/src/macros.rs
index b578370..66b75b1 100644
--- a/src/macros.rs
+++ b/src/macros.rs
@@ -30,6 +30,9 @@ macro_rules! iprintln {
/// `None` variant the caller must ensure that the macro is called from a function that's executed
/// at most once in the whole lifetime of the program.
///
+/// # Note
+/// This macro is unsound on multi core systems.
+///
/// # Example
///
/// ``` no_run
diff --git a/src/peripheral/scb.rs b/src/peripheral/scb.rs
index 688c431..28cfca8 100644
--- a/src/peripheral/scb.rs
+++ b/src/peripheral/scb.rs
@@ -11,6 +11,8 @@ use super::CBP;
#[cfg(not(armv6m))]
use super::CPUID;
use super::SCB;
+#[cfg(feature = "serde")]
+use serde::{Deserialize, Serialize};
/// Register block
#[repr(C)]
@@ -194,6 +196,8 @@ impl SCB {
/// Processor core exceptions (internal interrupts)
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
+#[cfg_attr(feature = "std-map", derive(PartialOrd, Hash))]
pub enum Exception {
/// Non maskable interrupt
NonMaskableInt,
@@ -259,6 +263,8 @@ impl Exception {
/// Active exception number
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
+#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
+#[cfg_attr(feature = "std-map", derive(PartialOrd, Hash))]
pub enum VectActive {
/// Thread mode
ThreadMode,