diff options
author | 2018-08-25 18:00:58 +0200 | |
---|---|---|
committer | 2018-08-26 23:47:02 +0200 | |
commit | c33d890dcb5a03649f07dd6c46729e7873468b40 (patch) | |
tree | 40a91c43353de645b5ca3a132f7aa061220ca9ff /src/register | |
parent | dfd0349772763e07b16bcaa13f536bfa381044b8 (diff) | |
download | cortex-m-c33d890dcb5a03649f07dd6c46729e7873468b40.tar.gz cortex-m-c33d890dcb5a03649f07dd6c46729e7873468b40.tar.zst cortex-m-c33d890dcb5a03649f07dd6c46729e7873468b40.zip |
remove build dependency on arm-none-eabi-gcc
by shipping pre-assembled object files. This is the same approach as the one
used in rust-embedded/cortex-m#95
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))] |