diff options
Diffstat (limited to 'src/register')
-rw-r--r-- | src/register/basepri.rs | 21 | ||||
-rw-r--r-- | src/register/basepri_max.rs | 21 |
2 files changed, 33 insertions, 9 deletions
diff --git a/src/register/basepri.rs b/src/register/basepri.rs index c9f09cc..a9cd6ef 100644 --- a/src/register/basepri.rs +++ b/src/register/basepri.rs @@ -45,13 +45,24 @@ pub unsafe fn write(_basepri: u8) { }, #[cfg(all(cortex_m, not(feature = "inline-asm")))] - () => { - extern "C" { - fn __basepri_w(_: u8); + () => match () { + #[cfg(not(feature = "cm7-r0p1"))] + () => { + extern "C" { + fn __basepri_w(_: u8); + } + + __basepri_w(_basepri); } + #[cfg(feature = "cm7-r0p1")] + () => { + extern "C" { + fn __basepri_w_cm7_r0p1(_: u8); + } - __basepri_w(_basepri); - } + __basepri_w_cm7_r0p1(_basepri); + } + }, #[cfg(not(cortex_m))] () => unimplemented!(), diff --git a/src/register/basepri_max.rs b/src/register/basepri_max.rs index 91698b6..59ddb44 100644 --- a/src/register/basepri_max.rs +++ b/src/register/basepri_max.rs @@ -24,11 +24,24 @@ pub fn write(_basepri: u8) { #[cfg(all(cortex_m, not(feature = "inline-asm")))] () => unsafe { - extern "C" { - fn __basepri_max(_: u8); - } + match () { + #[cfg(not(feature = "cm7-r0p1"))] + () => { + extern "C" { + fn __basepri_max(_: u8); + } - __basepri_max(_basepri) + __basepri_max(_basepri) + } + #[cfg(feature = "cm7-r0p1")] + () => { + extern "C" { + fn __basepri_max_cm7_r0p1(_: u8); + } + + __basepri_max_cm7_r0p1(_basepri) + } + } }, #[cfg(not(cortex_m))] |