-
Notifications
You must be signed in to change notification settings - Fork 14
远程烧录程序
要实现远程烧录程序,需要机器人装载 Jetson Nano 并连接 ST-Link 到开发板上。远程烧录程序的原理并不复杂:Jetson Nano 运行的是完整 Ubuntu 系统,在局域网内,通过 ssh 将本地编译的 elf 文件复制到 Jetson,再从 Jetson 调用 OpenOCD。相关脚本放置与另一个工程 Meta-Remote 中。
- 机器人装载 Jetson Nano 并上电
- Jetson Nano 连接到实验室局域网
- Jetson Nano 连接 ST-Link 到开发板上
Meta-Remote 通过 SSH 连接到 Jetson,配置 SSH Key 后则不需要每次连接时手动输入密码。
如果之前没有在本地生成过 SSH Key,在终端中运行以下命令:
ssh-keygen -t rsa -C "你的邮箱"
Passphrase 可留空(一路回车即可)。该命令会在 $HOME/.ssh
中生成一对 RSA 密钥,其中 id_rsa
是私钥,id_rsa.pub
是可以分发的公钥。如果你之前已经生成过 SSH Key,则可以跳过此步,直接复用现有的 SSH Key 即可。
使用以下命令将 SSH Key 部署至 Jetson Nano。
ssh-copy-id -i ~/.ssh/id_rsa.pub <Jetson Nano User>@<Jetson Nano IP>
将 <Jetson Nano User>
替换为对应 Jetson Nano <Jetson Nano IP>
的用户名和 IP。已经配置过的 Jetson Nano 可以在战队 ONES Wiki 中找到相关信息。
Meta-Remote 作为 Meta-Embedded 的一个 Submodule。Clone Meta-Embedded 后,运行以下命令:
git submodule update --init
CLion - Edit Configurations... - 将 Executable 更改为 Meta-Remote 文件夹下的 local_openocd.sh,Program argument 设置为:
<Jetson Nano User>@<Jetson Nano IP> flash <elf 文件路径>
点击运行即可。
安装 OpenOCD:
sudo apt-get install -y openocd
在用户目录下 clone Meta-Remote。
- 2021.02.11 初次发布。liuzikai
- 2022.01.17 将 Meta-Infantry 修改为 Meta-Embedded。liuzikai
- 基础知识
- 基础配置
- 进阶与参考