mirror of
https://github.com/esp-rs/esp-hal.git
synced 2025-09-28 12:50:53 +00:00
Move linker scripts to sub-folders
This commit is contained in:
parent
826d485fe1
commit
7b59c9e76d
@ -48,7 +48,8 @@ pub enum InterruptKind {
|
||||
}
|
||||
|
||||
/// Enumeration of available CPU interrupts.
|
||||
/// It is possible to create a handler for each of the interrupts. (e.g. `interrupt3`)
|
||||
/// It is possible to create a handler for each of the interrupts. (e.g.
|
||||
/// `interrupt3`)
|
||||
pub enum CpuInterrupt {
|
||||
Interrupt1 = 1,
|
||||
Interrupt2,
|
||||
|
@ -1,6 +1,5 @@
|
||||
use darling::FromMeta;
|
||||
use proc_macro::TokenStream;
|
||||
use proc_macro::{self, Span};
|
||||
use proc_macro::{self, Span, TokenStream};
|
||||
use proc_macro_error::{abort, proc_macro_error};
|
||||
use quote::quote;
|
||||
use syn::{parse_macro_input, AttributeArgs};
|
||||
|
@ -1,10 +1,10 @@
|
||||
[target.xtensa-esp32-none-elf]
|
||||
runner = "xtensa-esp32-elf-gdb -q -x xtensa.gdb"
|
||||
runner = "espflash --monitor"
|
||||
|
||||
[build]
|
||||
rustflags = [
|
||||
"-C", "link-arg=-nostartfiles",
|
||||
"-C", "link-arg=-Wl,-Tlink.x",
|
||||
"-C", "link-arg=-Wl,-Tlinkall.x",
|
||||
]
|
||||
target = "xtensa-esp32-none-elf"
|
||||
|
||||
|
@ -5,20 +5,23 @@ fn main() {
|
||||
let out = &PathBuf::from(env::var_os("OUT_DIR").unwrap());
|
||||
File::create(out.join("memory.x"))
|
||||
.unwrap()
|
||||
.write_all(include_bytes!("memory.x"))
|
||||
.write_all(include_bytes!("ld/memory.x"))
|
||||
.unwrap();
|
||||
|
||||
File::create(out.join("alias.x"))
|
||||
.unwrap()
|
||||
.write_all(include_bytes!("rom.x"))
|
||||
.write_all(include_bytes!("ld/rom.x"))
|
||||
.unwrap();
|
||||
|
||||
File::create(out.join("hal-defaults.x"))
|
||||
.unwrap()
|
||||
.write_all(include_bytes!("hal-defaults.x"))
|
||||
.write_all(include_bytes!("ld/hal-defaults.x"))
|
||||
.unwrap();
|
||||
|
||||
println!("cargo:rustc-link-arg=-Thal-defaults.x");
|
||||
File::create(out.join("linkall.x"))
|
||||
.unwrap()
|
||||
.write_all(include_bytes!("ld/linkall.x"))
|
||||
.unwrap();
|
||||
|
||||
println!("cargo:rustc-link-search={}", out.display());
|
||||
|
||||
|
2
esp32-hal/ld/linkall.x
Normal file
2
esp32-hal/ld/linkall.x
Normal file
@ -0,0 +1,2 @@
|
||||
INCLUDE "link.x"
|
||||
INCLUDE "hal-defaults.x"
|
@ -1,5 +1,7 @@
|
||||
[target.riscv32imc-unknown-none-elf]
|
||||
runner = "espflash --format direct-boot --monitor"
|
||||
rustflags = [
|
||||
"-C", "link-arg=-Tlinkall.x"
|
||||
]
|
||||
|
||||
[build]
|
||||
|
@ -14,17 +14,22 @@ fn main() {
|
||||
|
||||
File::create(out.join("memory.x"))
|
||||
.unwrap()
|
||||
.write_all(include_bytes!("db-esp32c3-memory.x"))
|
||||
.write_all(include_bytes!("ld/db-esp32c3-memory.x"))
|
||||
.unwrap();
|
||||
|
||||
File::create(out.join("esp32c3-link.x"))
|
||||
.unwrap()
|
||||
.write_all(include_bytes!("db-esp32c3-link.x"))
|
||||
.write_all(include_bytes!("ld/db-esp32c3-link.x"))
|
||||
.unwrap();
|
||||
|
||||
File::create(out.join("riscv-link.x"))
|
||||
.unwrap()
|
||||
.write_all(include_bytes!("db-riscv-link.x"))
|
||||
.write_all(include_bytes!("ld/db-riscv-link.x"))
|
||||
.unwrap();
|
||||
|
||||
File::create(out.join("linkall.x"))
|
||||
.unwrap()
|
||||
.write_all(include_bytes!("ld/db-linkall.x"))
|
||||
.unwrap();
|
||||
|
||||
println!("cargo:rustc-link-search={}", out.display());
|
||||
@ -32,7 +37,6 @@ fn main() {
|
||||
// Only re-run the build script when memory.x is changed,
|
||||
// instead of when any part of the source code changes.
|
||||
println!("cargo:rerun-if-changed=memory.x");
|
||||
println!("cargo:rustc-link-arg=-Tesp32c3-link.x");
|
||||
|
||||
add_defaults();
|
||||
prepare_trap();
|
||||
@ -44,12 +48,17 @@ fn main() {
|
||||
let out = &PathBuf::from(env::var_os("OUT_DIR").unwrap());
|
||||
File::create(out.join("memory.x"))
|
||||
.unwrap()
|
||||
.write_all(include_bytes!("bl-esp32c3-memory.x"))
|
||||
.write_all(include_bytes!("ld/bl-esp32c3-memory.x"))
|
||||
.unwrap();
|
||||
|
||||
File::create(out.join("bl-riscv-link.x"))
|
||||
.unwrap()
|
||||
.write_all(include_bytes!("bl-riscv-link.x"))
|
||||
.write_all(include_bytes!("ld/bl-riscv-link.x"))
|
||||
.unwrap();
|
||||
|
||||
File::create(out.join("linkall.x"))
|
||||
.unwrap()
|
||||
.write_all(include_bytes!("ld/bl-linkall.x"))
|
||||
.unwrap();
|
||||
|
||||
println!("cargo:rustc-link-search={}", out.display());
|
||||
@ -57,8 +66,6 @@ fn main() {
|
||||
// Only re-run the build script when memory.x is changed,
|
||||
// instead of when any part of the source code changes.
|
||||
println!("cargo:rerun-if-changed=memory.x");
|
||||
println!("cargo:rustc-link-arg=-Tmemory.x");
|
||||
println!("cargo:rustc-link-arg=-Tbl-riscv-link.x");
|
||||
|
||||
add_defaults();
|
||||
prepare_trap();
|
||||
@ -68,11 +75,10 @@ fn add_defaults() {
|
||||
let out = &PathBuf::from(env::var_os("OUT_DIR").unwrap());
|
||||
File::create(out.join("hal-defaults.x"))
|
||||
.unwrap()
|
||||
.write_all(include_bytes!("hal-defaults.x"))
|
||||
.write_all(include_bytes!("ld/hal-defaults.x"))
|
||||
.unwrap();
|
||||
|
||||
println!("cargo:rustc-link-search={}", out.display());
|
||||
println!("cargo:rustc-link-arg=-Thal-defaults.x");
|
||||
}
|
||||
|
||||
fn prepare_trap() {
|
||||
|
@ -29,4 +29,4 @@ fn main() -> ! {
|
||||
writeln!(serial0, "Hello world!").unwrap();
|
||||
block!(timer0.wait()).unwrap();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
3
esp32c3-hal/ld/bl-linkall.x
Normal file
3
esp32c3-hal/ld/bl-linkall.x
Normal file
@ -0,0 +1,3 @@
|
||||
INCLUDE "memory.x"
|
||||
INCLUDE "bl-riscv-link.x"
|
||||
INCLUDE "hal-defaults.x"
|
2
esp32c3-hal/ld/db-linkall.x
Normal file
2
esp32c3-hal/ld/db-linkall.x
Normal file
@ -0,0 +1,2 @@
|
||||
INCLUDE "esp32c3-link.x"
|
||||
INCLUDE "hal-defaults.x"
|
@ -1,10 +1,10 @@
|
||||
[target.xtensa-esp32s2-none-elf]
|
||||
runner = "xtensa-esp32s2-elf-gdb -q -x xtensa.gdb"
|
||||
runner = "espflash --monitor"
|
||||
|
||||
[build]
|
||||
rustflags = [
|
||||
"-C", "link-arg=-nostartfiles",
|
||||
"-C", "link-arg=-Wl,-Tlink.x",
|
||||
"-C", "link-arg=-Wl,-Tlinkall.x",
|
||||
]
|
||||
target = "xtensa-esp32s2-none-elf"
|
||||
|
||||
|
@ -5,20 +5,23 @@ fn main() {
|
||||
let out = &PathBuf::from(env::var_os("OUT_DIR").unwrap());
|
||||
File::create(out.join("memory.x"))
|
||||
.unwrap()
|
||||
.write_all(include_bytes!("memory.x"))
|
||||
.write_all(include_bytes!("ld/memory.x"))
|
||||
.unwrap();
|
||||
|
||||
File::create(out.join("alias.x"))
|
||||
.unwrap()
|
||||
.write_all(include_bytes!("rom.x"))
|
||||
.write_all(include_bytes!("ld/rom.x"))
|
||||
.unwrap();
|
||||
|
||||
File::create(out.join("hal-defaults.x"))
|
||||
.unwrap()
|
||||
.write_all(include_bytes!("hal-defaults.x"))
|
||||
.write_all(include_bytes!("ld/hal-defaults.x"))
|
||||
.unwrap();
|
||||
|
||||
println!("cargo:rustc-link-arg=-Thal-defaults.x");
|
||||
File::create(out.join("linkall.x"))
|
||||
.unwrap()
|
||||
.write_all(include_bytes!("ld/linkall.x"))
|
||||
.unwrap();
|
||||
|
||||
println!("cargo:rustc-link-search={}", out.display());
|
||||
|
||||
|
2
esp32s2-hal/ld/linkall.x
Normal file
2
esp32s2-hal/ld/linkall.x
Normal file
@ -0,0 +1,2 @@
|
||||
INCLUDE "link.x"
|
||||
INCLUDE "hal-defaults.x"
|
@ -1,7 +1,7 @@
|
||||
#![no_std]
|
||||
|
||||
pub use embedded_hal as ehal;
|
||||
pub use esp_hal_common::{pac, prelude, Delay, Serial, Timer, ram};
|
||||
pub use esp_hal_common::{pac, prelude, ram, Delay, Serial, Timer};
|
||||
|
||||
#[no_mangle]
|
||||
extern "C" fn DefaultHandler(_level: u32, _interrupt: pac::Interrupt) {}
|
||||
|
@ -1,10 +1,10 @@
|
||||
[target.xtensa-esp32s3-none-elf]
|
||||
runner = "xtensa-esp32s3-elf-gdb -q -x xtensa.gdb"
|
||||
runner = "espflash --monitor"
|
||||
|
||||
[build]
|
||||
rustflags = [
|
||||
"-C", "link-arg=-nostartfiles",
|
||||
"-C", "link-arg=-Wl,-Tesp32s3.x",
|
||||
"-C", "link-arg=-Wl,-Tlinkall.x",
|
||||
]
|
||||
target = "xtensa-esp32s3-none-elf"
|
||||
|
||||
|
@ -5,25 +5,28 @@ fn main() {
|
||||
let out = &PathBuf::from(env::var_os("OUT_DIR").unwrap());
|
||||
File::create(out.join("memory.x"))
|
||||
.unwrap()
|
||||
.write_all(include_bytes!("memory.x"))
|
||||
.write_all(include_bytes!("ld/memory.x"))
|
||||
.unwrap();
|
||||
|
||||
File::create(out.join("alias.x"))
|
||||
.unwrap()
|
||||
.write_all(include_bytes!("rom.x"))
|
||||
.write_all(include_bytes!("ld/rom.x"))
|
||||
.unwrap();
|
||||
|
||||
File::create(out.join("hal-defaults.x"))
|
||||
.unwrap()
|
||||
.write_all(include_bytes!("hal-defaults.x"))
|
||||
.write_all(include_bytes!("ld/hal-defaults.x"))
|
||||
.unwrap();
|
||||
|
||||
File::create(out.join("esp32s3.x"))
|
||||
.unwrap()
|
||||
.write_all(include_bytes!("esp32s3.x"))
|
||||
.write_all(include_bytes!("ld/esp32s3.x"))
|
||||
.unwrap();
|
||||
|
||||
println!("cargo:rustc-link-arg=-Thal-defaults.x");
|
||||
File::create(out.join("linkall.x"))
|
||||
.unwrap()
|
||||
.write_all(include_bytes!("ld/linkall.x"))
|
||||
.unwrap();
|
||||
|
||||
println!("cargo:rustc-link-search={}", out.display());
|
||||
|
||||
|
2
esp32s3-hal/ld/linkall.x
Normal file
2
esp32s3-hal/ld/linkall.x
Normal file
@ -0,0 +1,2 @@
|
||||
INCLUDE "esp32s3.x"
|
||||
INCLUDE "hal-defaults.x"
|
Loading…
x
Reference in New Issue
Block a user