mirror of
https://github.com/ferrous-systems/embedded-trainings-2020.git
synced 2024-09-27 14:00:04 +00:00
33 lines
421 B
Rust
33 lines
421 B
Rust
|
#![no_main]
|
||
|
#![no_std]
|
||
|
|
||
|
use cortex_m::asm;
|
||
|
use cortex_m_rt::entry;
|
||
|
use panic_log as _; // the panicking behavior
|
||
|
|
||
|
#[entry]
|
||
|
fn main() -> ! {
|
||
|
dk::init().unwrap();
|
||
|
|
||
|
foo();
|
||
|
|
||
|
loop {
|
||
|
asm::bkpt();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#[inline(never)]
|
||
|
fn foo() {
|
||
|
asm::nop();
|
||
|
bar();
|
||
|
}
|
||
|
|
||
|
#[inline(never)]
|
||
|
fn bar() {
|
||
|
let i = 3;
|
||
|
let array = [0, 1, 2];
|
||
|
let x = array[i]; // out of bounds access
|
||
|
|
||
|
log::info!("{}", x);
|
||
|
}
|