@@ -1,27 +1,56 @@
|
|||||||
[target.thumbv6m-none-eabi]
|
[target.thumbv6m-none-eabi]
|
||||||
runner = 'arm-none-eabi-gdb'
|
runner = 'arm-none-eabi-gdb'
|
||||||
rustflags = [
|
rustflags = [
|
||||||
"-C", "link-arg=-Wl,-Tlink.x",
|
# LLD (shipped with the Rust toolchain) is used as the default linker
|
||||||
"-C", "link-arg=-nostartfiles",
|
"-C", "link-arg=-Tlink.x",
|
||||||
|
|
||||||
|
# if you run into problems with LLD switch to the GNU linker by commenting out
|
||||||
|
# this line
|
||||||
|
# "-C", "linker=arm-none-eabi-ld",
|
||||||
|
|
||||||
|
# if you need to link to pre-compiled C libraries provided by a C toolchain
|
||||||
|
# use GCC as the linker by commenting out both lines above and then
|
||||||
|
# uncommenting the three lines below
|
||||||
|
# "-C", "linker=arm-none-eabi-gcc",
|
||||||
|
# "-C", "link-arg=-Wl,-Tlink.x",
|
||||||
|
# "-C", "link-arg=-nostartfiles",
|
||||||
]
|
]
|
||||||
|
|
||||||
[target.thumbv7m-none-eabi]
|
[target.thumbv7m-none-eabi]
|
||||||
runner = 'arm-none-eabi-gdb'
|
runner = 'arm-none-eabi-gdb'
|
||||||
rustflags = [
|
rustflags = [
|
||||||
"-C", "link-arg=-Wl,-Tlink.x",
|
# the comments under `[target.thumbv6m-none-eabi]` also apply here
|
||||||
"-C", "link-arg=-nostartfiles",
|
"-C", "link-arg=-Tlink.x",
|
||||||
|
|
||||||
|
# "-C", "linker=arm-none-eabi-ld",
|
||||||
|
|
||||||
|
# "-C", "linker=arm-none-eabi-gcc",
|
||||||
|
# "-C", "link-arg=-Wl,-Tlink.x",
|
||||||
|
# "-C", "link-arg=-nostartfiles",
|
||||||
]
|
]
|
||||||
|
|
||||||
[target.thumbv7em-none-eabi]
|
[target.thumbv7em-none-eabi]
|
||||||
runner = 'arm-none-eabi-gdb'
|
runner = 'arm-none-eabi-gdb'
|
||||||
rustflags = [
|
rustflags = [
|
||||||
"-C", "link-arg=-Wl,-Tlink.x",
|
# the comments under `[target.thumbv6m-none-eabi]` also apply here
|
||||||
"-C", "link-arg=-nostartfiles",
|
"-C", "link-arg=-Tlink.x",
|
||||||
|
|
||||||
|
# "-C", "linker=arm-none-eabi-ld",
|
||||||
|
|
||||||
|
# "-C", "linker=arm-none-eabi-gcc",
|
||||||
|
# "-C", "link-arg=-Wl,-Tlink.x",
|
||||||
|
# "-C", "link-arg=-nostartfiles",
|
||||||
]
|
]
|
||||||
|
|
||||||
[target.thumbv7em-none-eabihf]
|
[target.thumbv7em-none-eabihf]
|
||||||
runner = 'arm-none-eabi-gdb'
|
runner = 'arm-none-eabi-gdb'
|
||||||
rustflags = [
|
rustflags = [
|
||||||
"-C", "link-arg=-Wl,-Tlink.x",
|
# the comments under `[target.thumbv6m-none-eabi]` also apply here
|
||||||
"-C", "link-arg=-nostartfiles",
|
"-C", "link-arg=-Tlink.x",
|
||||||
|
|
||||||
|
# "-C", "linker=arm-none-eabi-ld",
|
||||||
|
|
||||||
|
# "-C", "linker=arm-none-eabi-gcc",
|
||||||
|
# "-C", "link-arg=-Wl,-Tlink.x",
|
||||||
|
# "-C", "link-arg=-nostartfiles",
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
//!
|
//!
|
||||||
//! - Nightly Rust toolchain newer than `nightly-2018-04-08`: `rustup default nightly`
|
//! - Nightly Rust toolchain newer than `nightly-2018-04-08`: `rustup default nightly`
|
||||||
//! - Cargo `clone` subcommand: `cargo install cargo-clone`
|
//! - Cargo `clone` subcommand: `cargo install cargo-clone`
|
||||||
//! - ARM toolchain: `sudo apt-get install gcc-arm-none-eabi` (on Ubuntu)
|
|
||||||
//! - GDB: `sudo apt-get install gdb-arm-none-eabi` (on Ubuntu)
|
//! - GDB: `sudo apt-get install gdb-arm-none-eabi` (on Ubuntu)
|
||||||
//! - OpenOCD: `sudo apt-get install OpenOCD` (on Ubuntu)
|
//! - OpenOCD: `sudo apt-get install OpenOCD` (on Ubuntu)
|
||||||
//! - [Optional] Cargo `add` subcommand: `cargo install cargo-edit`
|
//! - [Optional] Cargo `add` subcommand: `cargo install cargo-edit`
|
||||||
@@ -179,11 +178,13 @@
|
|||||||
//! ``` text
|
//! ``` text
|
||||||
//! $ cargo build
|
//! $ cargo build
|
||||||
//! Compiling demo v0.1.0 (file:///home/japaric/tmp/demo)
|
//! Compiling demo v0.1.0 (file:///home/japaric/tmp/demo)
|
||||||
//! error: linking with `arm-none-eabi-ld` failed: exit code: 1
|
//! error: linking with `rust-lld` failed: exit code: 1
|
||||||
//! |
|
//! |
|
||||||
//! = note: "arm-none-eabi-gcc" "-L" (..)
|
//! = note: "rust-lld" "-flavor" "gnu" "-L" (..)
|
||||||
|
//! (..)
|
||||||
|
//! = note: rust-lld: error: section '.vector_table' will not fit in region 'FLASH': overflowed by X bytes
|
||||||
|
//! rust-lld: error: section '.vector_table' will not fit in region 'FLASH': overflowed by Y bytes
|
||||||
//! (..)
|
//! (..)
|
||||||
//! (..)/ld: region `FLASH' overflowed by XXX bytes
|
|
||||||
//! ```
|
//! ```
|
||||||
//!
|
//!
|
||||||
//! Solution: Specify your device memory layout in the `memory.x` linker script. See [Usage]
|
//! Solution: Specify your device memory layout in the `memory.x` linker script. See [Usage]
|
||||||
|
|||||||
Reference in New Issue
Block a user