RISC-V 上的嵌入式 Rust 第一部分
引导 RISC-V 目标
讲师:Benix Samuel Vincent Theogaraj
双语IT资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
您将学到什么
- 如何创建 Rust 工作区?
- 如何为 RISC-V 配置 rust 工具链?
- 如何将 RISC-V 汇编与 Rust 混合?
- 将 RISC-V 目标引导到嵌入式 rust 中的代码
探索相关主题
- Risc-V
- 硬件
- 信息技术与软件
要求
- 了解计算机体系结构和编程语言
描述
首先,本课程不涵盖工具链安装 本课程从将 RISC-V 处理器引导到 rust 所需的构建块开始,到将 Hifive1-Rev B 板引导到嵌入式 Rust 结束。关于代码管理,有很多方法可以管理 rust 中的代码;本课程采用 Cargo 工作区。
第 1 部分:简介
-
介绍
-
前言
-
涵盖哪些内容,不涵盖哪些内容
-
资源与期望
第 2 部分:Cargo 工作区
-
创建 Cargo 工作区
-
创建二进制包来构建可执行文件
-
创建库箱以保存可重用代码
-
创建 Cargo.toml 来管理依赖项
然后本课程进入 Embedded-rust 和 Cargo 设置。
第 3 节:RISC-V Embedded Rust 目标的 Embedded-rust 和 Cargo 设置
-
Rust 中的属性是什么?
-
什么是嵌入式 Rust?
-
提供自定义 panic 处理程序和入口函数
-
Cargo toml 文件与配置文件的区别
-
如何配置 Cargo Workspace 来为 RISC-V 而不是主机构建?
-
如何将附加标志传递给 Rust 编译器?
-
如何传递目标(Hifive1-RevB 板)的自定义链接器文件?
注意:本课程不介绍如何编写链接器文件。但是,链接器文件作为可下载资源共享。
第 4 节:解析 ELF 和 RUSTFLAGS 的命令
-
从 ELF 中提取信息的命令
-
Rust 中的 RUSTFLAGS 用于调整编译器行为
-
如何使用 RUSTFLAGS 添加自定义链接器文件
处理好工作区和代码管理后,接下来是在 RISC-V 汇编中添加 RISC-V 启动代码。
第 5 节:简单的 RISC-V 启动代码(二进制包)
-
如何添加程序集(.S)文件?
-
在启动时禁用中断
-
将堆栈指针设置为有效位置
-
如何从 RISC-V 汇编跳转到嵌入式 Rust 入口函数?
-
使用 RISC-V 汇编语言构建带有启动代码的可执行文件,并使用 Rust 语言中的进入和恐慌处理程序
第 6 节:Rust 中的 UART 驱动程序(Library Crate)
-
Rust 中的结构体和实现
-
Uart 驱动程序功能
-
使用 RISC-V asm 中的引导代码和 Rust 中的 UART 驱动程序构建可执行文件。
-
通过 OpenOCD 和 GDB 服务器连接到 Hifive1-RevB 板
-
将可执行文件加载到 Hifive1-RevB 中
-
使用串行工具从串行输出读取消息
注意:本节使用 OpenOCD 脚本,但不讨论脚本内容。但是,该脚本作为可下载资源共享。
2024 年 12 月 5 日更新:第 #5 节附加 boot.S 文件
本课程适合哪些人:
- 初级嵌入式 Rust 开发人员有兴趣在 RISC-V 上运行 Rust
经常一起购买
Rust 中的零知识证明实用方法评分:4.3(满分 5 分)64 条评论总共 5 小时27 个讲座中级当前价格:69.99 美元
讲师:吉多·吉翁托利评分:4.3(满分 5 分)4.3(64)当前价格69.99 美元全部的: 当前价格134.97 美元全部添加到购物车
如果你有能力,请务必支持课程的原创作者,这是他们应得的报酬!
本站收取的费用,仅用来维持网站正常运行的必要支出,从本站下载任何内容,说明你已经知晓并同意此条款。