diff options
-rwxr-xr-x | cortex-m-rt/assemble.sh | 3 | ||||
-rw-r--r-- | cortex-m-rt/bin/thumbv6m-none-eabi.a | bin | 940 -> 940 bytes | |||
-rw-r--r-- | cortex-m-rt/bin/thumbv7em-none-eabi.a | bin | 940 -> 940 bytes | |||
-rw-r--r-- | cortex-m-rt/bin/thumbv7em-none-eabihf.a | bin | 940 -> 940 bytes | |||
-rw-r--r-- | cortex-m-rt/bin/thumbv7m-none-eabi.a | bin | 940 -> 940 bytes | |||
-rw-r--r-- | cortex-m-rt/bin/thumbv8m.base-none-eabi.a | bin | 944 -> 944 bytes | |||
-rw-r--r-- | cortex-m-rt/bin/thumbv8m.main-none-eabi.a | bin | 0 -> 944 bytes | |||
-rw-r--r-- | cortex-m-rt/build.rs | 30 |
8 files changed, 22 insertions, 11 deletions
diff --git a/cortex-m-rt/assemble.sh b/cortex-m-rt/assemble.sh index 27c10de..bd04c5b 100755 --- a/cortex-m-rt/assemble.sh +++ b/cortex-m-rt/assemble.sh @@ -22,4 +22,7 @@ ar crs bin/thumbv7em-none-eabihf.a bin/$crate.o arm-none-eabi-as -march=armv8-m.base asm.s -o bin/$crate.o ar crs bin/thumbv8m.base-none-eabi.a bin/$crate.o +arm-none-eabi-as -march=armv8-m.main asm.s -o bin/$crate.o +ar crs bin/thumbv8m.main-none-eabi.a bin/$crate.o + rm bin/$crate.o diff --git a/cortex-m-rt/bin/thumbv6m-none-eabi.a b/cortex-m-rt/bin/thumbv6m-none-eabi.a Binary files differindex 6a6a547..51c1dc0 100644 --- a/cortex-m-rt/bin/thumbv6m-none-eabi.a +++ b/cortex-m-rt/bin/thumbv6m-none-eabi.a diff --git a/cortex-m-rt/bin/thumbv7em-none-eabi.a b/cortex-m-rt/bin/thumbv7em-none-eabi.a Binary files differindex 51d9aef..6daed97 100644 --- a/cortex-m-rt/bin/thumbv7em-none-eabi.a +++ b/cortex-m-rt/bin/thumbv7em-none-eabi.a diff --git a/cortex-m-rt/bin/thumbv7em-none-eabihf.a b/cortex-m-rt/bin/thumbv7em-none-eabihf.a Binary files differindex 51d9aef..6daed97 100644 --- a/cortex-m-rt/bin/thumbv7em-none-eabihf.a +++ b/cortex-m-rt/bin/thumbv7em-none-eabihf.a diff --git a/cortex-m-rt/bin/thumbv7m-none-eabi.a b/cortex-m-rt/bin/thumbv7m-none-eabi.a Binary files differindex dc37fbf..d6da5d8 100644 --- a/cortex-m-rt/bin/thumbv7m-none-eabi.a +++ b/cortex-m-rt/bin/thumbv7m-none-eabi.a diff --git a/cortex-m-rt/bin/thumbv8m.base-none-eabi.a b/cortex-m-rt/bin/thumbv8m.base-none-eabi.a Binary files differindex dda8dcc..e8fd368 100644 --- a/cortex-m-rt/bin/thumbv8m.base-none-eabi.a +++ b/cortex-m-rt/bin/thumbv8m.base-none-eabi.a diff --git a/cortex-m-rt/bin/thumbv8m.main-none-eabi.a b/cortex-m-rt/bin/thumbv8m.main-none-eabi.a Binary files differnew file mode 100644 index 0000000..9335af0 --- /dev/null +++ b/cortex-m-rt/bin/thumbv8m.main-none-eabi.a diff --git a/cortex-m-rt/build.rs b/cortex-m-rt/build.rs index a978146..9d06935 100644 --- a/cortex-m-rt/build.rs +++ b/cortex-m-rt/build.rs @@ -8,7 +8,6 @@ fn main() { let out_dir = PathBuf::from(env::var("OUT_DIR").unwrap()); has_fpu(&target); - let is_armv6m = is_armv6m(&target); if target.starts_with("thumbv") { fs::copy( @@ -43,7 +42,21 @@ INCLUDE device.x"# f }; - let max_int_handlers = if is_armv6m { 32 } else { 240 }; + let max_int_handlers = if target.starts_with("thumbv6m-") { + println!("cargo:rustc-cfg=cortex_m"); + println!("cargo:rustc-cfg=armv6m"); + 32 + } else if target.starts_with("thumbv7m-") || target.starts_with("thumbv7em-") { + println!("cargo:rustc-cfg=cortex_m"); + println!("cargo:rustc-cfg=armv7m"); + 240 + } else if target.starts_with("thumbv8m") { + println!("cargo:rustc-cfg=cortex_m"); + println!("cargo:rustc-cfg=armv8m"); + 240 + } else { + panic!("Unexpected target {:?}", target); + }; // checking the size of the interrupts portion of the vector table is sub-architecture dependent writeln!( @@ -58,6 +71,10 @@ handlers."); max_int_handlers ).unwrap(); + if target.ends_with("-eabihf") { + println!("cargo:rustc-cfg=has_fpu"); + } + println!("cargo:rustc-link-search={}", out.display()); println!("cargo:rerun-if-changed=build.rs"); @@ -69,12 +86,3 @@ fn has_fpu(target: &str) { println!("cargo:rustc-cfg=has_fpu"); } } - -fn is_armv6m(target: &str) -> bool { - if target.starts_with("thumbv6m-") { - println!("cargo:rustc-cfg=armv6m"); - true - } else { - false - } -} |