aboutsummaryrefslogtreecommitdiff
path: root/src/register
diff options
context:
space:
mode:
authorGravatar Jorge Aparicio <jorge@japaric.io> 2018-08-25 18:00:58 +0200
committerGravatar Jorge Aparicio <jorge@japaric.io> 2018-08-26 23:47:02 +0200
commitc33d890dcb5a03649f07dd6c46729e7873468b40 (patch)
tree40a91c43353de645b5ca3a132f7aa061220ca9ff /src/register
parentdfd0349772763e07b16bcaa13f536bfa381044b8 (diff)
downloadcortex-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.rs21
-rw-r--r--src/register/basepri_max.rs21
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))]