Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[ci] run-make/thumb-none-qemu: add example crate.
- Loading branch information
Showing
5 changed files
with
79 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
[package] | ||
name = "example" | ||
version = "0.1.0" | ||
authors = ["Hideki Sekine <sekineh@me.com>"] | ||
# edition = "2018" | ||
|
||
[dependencies] | ||
cortex-m = "0.5.4" | ||
cortex-m-rt = "=0.5.4" | ||
panic-halt = "0.2.0" | ||
cortex-m-semihosting = "0.3.1" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
/* Device specific memory layout */ | ||
|
||
/* This file is used to build the cortex-m-rt examples, | ||
but not other applications using cortex-m-rt. */ | ||
|
||
MEMORY | ||
{ | ||
/* FLASH and RAM are mandatory memory regions */ | ||
/* Update examples/data_overflow.rs if you change these sizes. */ | ||
FLASH : ORIGIN = 0x00000000, LENGTH = 256K | ||
RAM : ORIGIN = 0x20000000, LENGTH = 64K | ||
|
||
/* More memory regions can declared: for example this is a second RAM region */ | ||
/* CCRAM : ORIGIN = 0x10000000, LENGTH = 8K */ | ||
} | ||
|
||
/* The location of the stack can be overridden using the `_stack_start` symbol. | ||
By default it will be placed at the end of the RAM region */ | ||
/* _stack_start = ORIGIN(CCRAM) + LENGTH(CCRAM); */ | ||
|
||
/* The location of the .text section can be overridden using the `_stext` symbol. | ||
By default it will place after .vector_table */ | ||
/* _stext = ORIGIN(FLASH) + 0x40c; */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
// #![feature(stdsimd)] | ||
#![no_main] | ||
#![no_std] | ||
|
||
extern crate cortex_m; | ||
|
||
extern crate cortex_m_rt as rt; | ||
extern crate cortex_m_semihosting as semihosting; | ||
extern crate panic_halt; | ||
|
||
use core::fmt::Write; | ||
use cortex_m::asm; | ||
use rt::entry; | ||
|
||
entry!(main); | ||
|
||
fn main() -> ! { | ||
let x = 42; | ||
|
||
loop { | ||
asm::nop(); | ||
|
||
// write something through semihosting interface | ||
let mut hstdout = semihosting::hio::hstdout().unwrap(); | ||
write!(hstdout, "x = {}\n", x); | ||
|
||
// exit from qemu | ||
semihosting::debug::exit(semihosting::debug::EXIT_SUCCESS); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,13 @@ | ||
set -exuo pipefail | ||
|
||
CRATE=cortex-m-rt | ||
CRATE_URL=https://github.com/rust-embedded/cortex-m-rt | ||
CRATE_SHA1=62972c8a89ff54b76f9ef0d600c1fcf7a233aabd | ||
CRATE=example | ||
|
||
env | sort | ||
mkdir -p $WORK_DIR | ||
pushd $WORK_DIR | ||
rm -rf $CRATE || echo OK | ||
bash -x $HERE/../git_clone_sha1.sh $CRATE $CRATE_URL $CRATE_SHA1 | ||
cp -a $HERE/example . | ||
pushd $CRATE | ||
$CARGO run --target $TARGET --example qemu | grep "x = 42" | ||
$CARGO run --target $TARGET --example qemu --release | grep "x = 42" | ||
$CARGO run --target $TARGET | ||
popd | ||
popd | ||
popd |