Skip to content

Modify outdated translations #201

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Dec 14, 2023
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 22 additions & 12 deletions README.CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ _带上我最诚挚的问候,<br>Andre ([@andre-richter])_
### 🚀 tl;dr 版本

1. [安装 Docker][install_docker]。
2. 确保你的用户在 [docker group] 中。
3. 安装正确的`Rust`工具链:
2. **(仅限Linux)** 确保您的用户帐户在 [docker group] 中。
3. 准备Rust工具链。其中大部分将在首次使用时通过[rust-toolchain.toml](rust-toolchain.toml)文件进行处理。我们要做的是:
1. 如果你已经安装了一个版本的Rust:
```bash
cargo install cargo-binutils rustfilt
Expand All @@ -63,12 +63,17 @@ _带上我最诚挚的问候,<br>Andre ([@andre-richter])_
cargo install cargo-binutils rustfilt
```

1. 如果你使用 `Visual Studio Code`,我强烈推荐你安装[Rust Analyzer 扩展]。
1. 如果你使用的**不是**Linux,那么你还需要安装一些`Ruby` gems。
4. 如果你使用 `Visual Studio Code`,我强烈推荐你安装[Rust Analyzer 扩展]。
5. **(仅限macOS)** 安装一些`Ruby` gems。

这是作者最后一次在`macOS Monterey`上用`Ruby 3.0.2`版本进行测试。如果您正在使用`rbenv`,那么相应的`.ruby-version`文件已经就位。
如果你从未听说过`rbenv`,请尝试使用[这个指南](https://stackoverflow.com/a/68118750)。

在存储库根文件夹中运行此操作:

```bash
sudo gem install bundler
bundle config set path '.vendor/bundle'
bundle config set --local path '.vendor/bundle'
bundle config set --local without 'development'
bundle install
```

Expand All @@ -78,9 +83,10 @@ bundle install

## 🧰 长期版本: 消除工具链烦恼

这个系列的教程会着重关注用户体验的友好性。因此,我尽量消除嵌入式开发中的最大痛点:工具链的问题
这个系列的教程会着重关注用户体验的友好性。因此,我尽量消除嵌入式开发中的最大痛点:`Toolchain hassle`

Rust内置的交叉编译支持在这方面帮了我们大忙。我们只需要使用`rustup`安装目标工具链就可以在`x86`宿主机上交叉编译支持树莓派的目标文件。然而,除了Rust编译器,我们还需要更多的工具。例如:
Rust本身在这方面已经起到了很大的作用,因为它内置了对交叉编译的支持。从`x86`宿主机到树莓派的`AArch64`架构的交叉编译所需的一切都将由`rustup`自动安装。然而,除了Rust编译器,我们还将使用更多的工具。例如:

- 用于在我们的宿主系统上模拟我们内核运行环境的`QEMU`。
- 一个叫`Minipush`的自制工具,可以通过`UART`将内核加载到树莓派上。
Expand All @@ -96,14 +102,18 @@ Rust内置的交叉编译支持在这方面帮了我们大忙。我们只需要

由于教程中开发的内核是在真实的硬件上运行的,因此强烈建议您使用 USB 串行调试线来进行试验。连接调试线后,树莓派需要通过额外电源供电。

- 淘宝搜索"USB 转串口"
- 如下图连接 GPIO 串口的 14/15 号引脚
- [第六章](06_drivers_gpio_uart) 是这个设备第一次需要使用的地方。找到如何准备 SD 卡来引导你自制的内核的说明
- [第七章](07_uart_chainloader)开始,在树莓派上启动内核变得非常舒适。在这章,会开发出一个叫`chainloader`的文件
这将是您暂时需要在 SD 卡上手动复制的最后一个文件。这将使您能够在通过 UART 按需引导期间加载教程内核。
- 您可以在[\[1\]] [\[2\]]中或者[淘宝]上找到USB到串行电缆,但许多其他电缆也可以工作。理想情况下,您的电缆基于`CP210`芯片。
- 您将其连接到`GND`和GPIO引脚`14/15`,如下所示。
- [教程5](05_drivers_gpio_uart/README.CN.md)是这个设备第一次需要使用的地方。查看它了解如何准备SD卡以从中启动自制内核的说明
- 从[教程6](06_uart_chainloader/README.CN.md)开始,在树莓派上启动内核变得非常舒适。在本教程中开发了一个所谓的`chainloader`
这将是您暂时需要在SD卡上手动复制的最后一个文件。这将使您能够在通过`UART`按需引导期间加载教程内核。

![UART wiring diagram](doc/wiring.png)

[\[1\]]: https://www.amazon.de/dp/B0757FQ5CX/ref=cm_sw_r_tw_dp_U_x_ozGRDbVTJAG4Q
[\[2\]]: https://www.adafruit.com/product/954
[淘宝]: https://www.taobao.com/

## 🙌 致谢

这个教程最初是由[Zoltan Baldaszti](https://github.com/bztsrc)的[项目](https://github.com/bztsrc/raspi3-tutorial)衍生出来的,感谢它给我开了一个头。
Expand Down