嵌入式技术论坛
直播中

刘 刚

10年用户 42经验值
擅长:6933
私信 关注
[经验]

【MYD-Y6ULX试用体验】建立开发环境

本帖最后由 sandman78 于 2018-3-27 16:54 编辑

这里尝试采用RUST语言来编写可在开发板上运行的程序,Rust是一种系统编程语言。它有着惊人的运行速度,能够防止段错误,并保证线程安全。具有零开销抽象、转移语义、保证内存安全、线程无数据竞争、基于 trait 的泛型、模式匹配、类型推断、极小运行时、C 绑定等特点,具体内容可直接到官网查看。RUST正处于高速发展期,2018年,RUST官方已正式把嵌入式系统列为主要工作目标,期待RUST的嵌入式开发体验会有显著提升。

安装
在终端运行
$ curl https:// sh.rustup.rs -sSf | sh

这将会安装RUST。可运行
$ rustc --version

命令查看安装是否成功。因为要交叉编译程序到开发中, 还需要对应目标的标准库,可用
$ rustup add armv7-unknown-linux-gnueabi

命令下载对应的标准库。另外还需要安装GCC链接程序(具体可参考开发板手册), 并把RUST和GCC的执行目录加入系统路径。

第一个程序
先写一个RUST版的Hello World, RUST使用Cargo作为包管理器,使用Cargo创建一个Hello World项目非常方便,在命令行运行
$ cargo new --bin hello

Cargo 已经创建了项目所需的文件,并生成了源文件,查看源文件
$ cd hello
$ cat src/main.rs
fn main() {
    println!("Hello, world!");
}

看已经有了所需要的程序,运行程序
$ cargo run
Hello, world!

得到了我们所需的输出。接下来让我们生成开发板能运行的程序。
$ cargo build --target armv7-unknown-linux-gnueabihf

查看生成的执行文件
$ file target/armv7-unknown-linux-gnueabihf/debug/hello
    target/armv7-unknown-linux-gnueabihf/debug/hello: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.16, BuildID[sha1]=972f1d9d07cedaec48e66bf11b2f62b0adef9346, not stripped

把生成的文件复制到开发板上
加入执行权限
# chmod +x hello

运行程序
# ./hello
Hello, world!

这样已经交叉编译生成了目标程序,程序已经如期运行了。

更多回帖

发帖
×
20
完善资料,
赚取积分