Hello Embedded World
侧边栏壁纸
  • 累计撰写 10 篇文章
  • 累计收到 1 条评论

Hello Embedded World

Logiase
2020-12-10 / 0 评论 / 2 阅读 / 正在检测是否收录...

Hello Embedded From Rust

本系列所有的源代码均可在stm32-rustup获得,如果这些对你有帮助,请给个star让我知道我在做的分享是有意义的。

Cargo Embed

cargo-embedprobe.rs为嵌入式开发提供的一套工具,包括了烧录、调试、实时终端等功能,完全可以替代openocdarm-none-eabi-gdb,使用更加方便,是carog的一个扩展功能。

Install cargo-embed

使用如下命令进行安装,如果遇到网络问题,可以进行镜像配置。

cargo install cargo-embed

cargo-embedcargo的一个扩展功能,可以帮助我们进行烧录与调试,还可以打开一个实时终端显示信息。

所有的一切仅仅需要一个简单的配置文件

[default.general]
chip = "STM32F429IGTX"

[default.rtt]
enabled = true

use rtt as panic handler

use core::panic::PanicInfo;
use rtt_target::rprintln;

#[inline(never)]
#[panic_handler]
fn panic(info: &PanicInfo) -> ! {
    rprintln!("{}", info);
    loop {} // You might need a compiler fence in here.
}

Screenshot

hello_embedded_world

Code

Github

hello.rs

#![no_main]
#![no_std]

use cortex_m_rt::entry;
use rtt_target::{rtt_init_print, rprintln};

// 引入未使用依赖以允许编译
// panic handler
extern crate panic_halt;
// 内存布局
extern crate stm32f4xx_hal;

#[entry]
fn main() -> ! {
    rtt_init_print!();

    rprintln!("hello, world!!!!!!!!!");
    loop {}
}
0

评论 (0)

取消