虚拟机中对优地Tegra K1开发板刷Ubuntu14

本文记录了一次从Android系统切换到Linux系统的详细过程,使用的是优地科技TegraK1开发板。文章涵盖了在Windows 10环境下使用VirtualBox和Ubuntu进行刷机的步骤,包括解决驱动问题、配置虚拟机、进入烧录模式及正确执行烧录命令等关键环节。

成功的路只有一条,失败的路却有很多条。

这几天一直折腾手中的这块TK1的开发板,目前是android系统想将其刷为Linux。整个过程遇到很多坑,遂记录下来:

软硬件:

笔记本电脑(Win10系统)+VirtualBox+ubuntu18.04

优地科技Tegra K1开发板+ubuntu14.04(针对tk1订制版).

过程:

1.win10中安装好虚拟机,虚拟机中安装好ubuntu。开发板要烧linux需要在linux环境下,没办法只好采用虚拟机装linux。

2.win10中安装好开发板的驱动。在一步折腾了很久,一直不成功。因为之前对这个开发板刷过android系统,所以换了个思路,重新刷一遍android4.4,确保连接是通畅的以及开发板没有坏。

果然驱动有问题,在设备管理器中一个APX的设备存在问号,这个设备就是开发板,需要装驱动。由于win10自动更新,把这个开发板的驱动给禁了,重新安装驱动,会提示第三方INF签名问题。这个baidu就可解决。驱动安装成功。

3.打开虚拟机,启动ubuntu系统。安装好虚拟机的增强插件、添加供虚拟机使用USB设备以及设置win10与虚拟机的共享文件夹。在虚拟机中,通过共享文件夹拷贝待烧录的linux系统到虚拟机系统,并解压。

4.将数据线连接电脑和开发板。注意不要使用USB3.0的接口,不然无法识别。

5.让开发板进入烧录模式:插上开发板电源,按住recovery键不要松开,再按一下reset键,之后再松开recovery键,此时两个灯同时处于彩色状态。

6.打开终端,cd进入到解压后的文件夹下。执行命令:

sudo ./nvflash –nct nct_jetson.txt –bct UDI_Hynix_2GB_H5TC4G63AFR_PBA_792MHz.cfg –setbct –configfile 
flash.cfg –create –bl fastboot.bin –odmdata 0x7309c008 
–go

以上这段命令是从网上看来的。原文地址:https://blog.youkuaiyun.com/u013793399/article/details/52045828?locationNum=15

实际这段命令是有问题,执行的时候会报各种命令找不到的问题,比如-nct command not found,–bct command not found......

其实nvflash在help中已经写明了各命令能被执行的标准写法。正确的写法是英文输入法下将上述命名中的–改为--。

7.然而,以上都改正确之后,再来执行,仍然报错。提示device not found,找不到设备!可是我明明连接成功了,usb设备也提供给虚拟机了呀。

就是不成功,死活不成功!!!!

8.关键的一步,虚拟机的管理菜单上,有个设备菜单,里面有USB设备的选项,在这里需要再次勾选中开发板对应的usb设备

再次执行命令,OK!开始烧入。

9.烧录的过程比较慢,要写入2.3G的文件。其中卡在一个地方的很长时间,重启后再次执行,然后就成功了。

10.烧录成功重启后,成功进入ubuntu14.04,密码也是ubuntu。

 

 

 

 

<think>我们正在处理一个关于在Ubuntu系统中降级PX4版本的问题。PX4是一个开源的飞行控制软件,常用于无人机。用户可能在使用过程中遇到了新版本的兼容性问题,或者需要特定版本的PX4进行开发或测试。 根据引用[1],我们看到有多个Ubuntu版本(如gutsy, hardy, intrepid等),但用户没有具体说明使用的是哪个Ubuntu版本。不过,PX4通常支持较新的Ubuntu LTS版本,如18.04, 20.04, 22.04等。因此,我们需要一个通用的方法,或者需要用户明确Ubuntu版本。 降级PX4通常有两种情况: 1. 降级PX4的固件版本(即刷写到飞控板上的固件)。 2. 降级PX4开发环境(即在地面站计算机上运行的PX4代码,包括仿真等)。 由于问题没有明确,我们将分别讨论两种情况。 ### 情况1:降级PX4固件版本 如果用户想要给飞控板刷写旧版本的固件,可以通过QGroundControl地面站软件进行。 步骤: 1. 打开QGroundControl。 2. 连接飞控板。 3. 进入“设置”->“固件”。 4. 在固件设置界面,QGroundControl通常会检测最新版本并提示升级。但这里我们可以选择“高级设置”或类似选项,然后指定自定义固件文件(.px4文件)。 5. 用户需要先下载所需旧版本的固件文件(可以从PX4的GitHub发布页面获取:https://github.com/PX4/PX4-Autopilot/releases)。 6. 然后选择本地文件进行刷写。 ### 情况2:降级PX4开发环境(源代码) 如果用户是在Ubuntu上通过源代码编译PX4,那么降级就是切换到源代码的特定标签(tag)或提交(commit)。 步骤: 1. 进入PX4源代码目录(假设已经克隆了PX4-Autopilot仓库)。 2. 使用git命令切换到特定版本。首先,获取远程的所有标签和分支: ```bash git fetch --all --tags ``` 3. 查看可用的版本(标签): ```bash git tag ``` 4. 或者,如果知道具体的版本号(如v1.13.0),则直接切换: ```bash git checkout v1.13.0 # 将v1.13.0替换为所需的版本 ``` 5. 如果版本不是以标签形式发布,而是某个提交,则使用提交哈希值: ```bash git checkout <commit-hash> ``` 6. 切换后,更新子模块(重要): ```bash git submodule update --init --recursive ``` 7. 然后按照正常步骤编译: ```bash make px4_sitl jmavsim # 例如,使用jmavsim仿真 ``` 注意:不同版本的PX4可能对Ubuntu系统的依赖库有不同要求,降级后可能需要调整系统环境(如安装特定版本的依赖库)。 如果用户之前没有克隆仓库,则需要先克隆: ```bash git clone https://github.com/PX4/PX4-Autopilot.git cd PX4-Autopilot ``` 另外,PX4官方推荐使用脚本安装开发环境,但降级不需要重新安装整个环境,只需要切换代码版本即可。 但是,请注意:切换版本后,由于依赖关系的变化,可能需要重新安装一些依赖。PX4提供了一个脚本来安装依赖,但要注意该脚本可能会安装最新版本所需的依赖,而旧版本可能需要旧依赖。因此,降级后如果编译出错,可能需要查看该版本对应的文档,安装正确的依赖。 例如,在PX4的仓库中,每个版本对应的文档可以在GitHub上查看,或者查看代码目录中的`README.md`或`/Tools/setup`下的脚本。 ### 补充:使用PX4官方提供的二进制文件 除了从源代码编译,PX4也提供了一些预编译的二进制文件,用户可以直接下载使用。但通常用于固件,而不是开发环境。 ### 注意事项 - 在降级前,建议备份当前的工作,因为切换版本可能会导致代码更改。 - 如果用户使用的是PX4的发行版(如通过apt安装),那么降级可能需要卸载当前版本并安装特定版本。但通常PX4不通过Ubuntu仓库分发,所以这种情况较少。 由于用户问题中未明确是固件降级还是开发环境降级,我们可以给出两种情况的说明,并建议用户根据实际需求选择。 根据引用[2]和[3],它们似乎与GPU切换和InfluxDB安装有关,与PX4降级无关,因此这里不参考。 因此,回答如下:</think>### 如何在 Ubuntu 系统中降级 PX4 版本 降级 PX4 版本的核心是**切换 Git 仓库到特定标签或提交**,以下是详细步骤: #### 1. **定位目标版本** - 查看可用版本列表: ```bash cd ~/PX4-Autopilot git tag -l # 列出所有正式版本(如 v1.14.0) git log --oneline # 查看提交历史(用于非正式版本) ``` - 从 [PX4 GitHub Release](https://github.com/PX4/PX4-Autopilot/releases) 查找目标版本号(如 `v1.13.2`) #### 2. **切换版本** ```bash git fetch --all --tags # 同步远程仓库信息 git checkout <TAG_OR_COMMIT> # 例如:git checkout v1.13.2 ``` #### 3. **更新子模块** ```bash git submodule update --init --recursive ``` #### 4. **重新编译** ```bash make distclean # 清除旧版本编译缓存 make px4_sitl jmavsim # 示例:编译仿真环境 ``` > **注意**:旧版本可能需要特定依赖,若编译报错,需根据提示安装对应依赖库[^1]。 #### 5. **验证版本** ```bash ./build/px4_sitl_default/bin/px4 --version # 查看当前版本 ``` --- ### 关键注意事项 1. **依赖兼容性** 较旧版本(如 v1.11 之前)可能需要 `gcc-9` 等特定工具链,可通过: ```bash sudo apt install gcc-9 g++-9 export CC=gcc-9 CXX=g++-9 # 临时指定编译器 ``` 2. **固件降级** 若需给飞控刷写旧固件: - 在 QGroundControl 中: *设置 > 固件 > 高级设置 > 自定义固件文件*,加载本地 `.px4` 文件[^2]。 3. **环境隔离建议** 使用 Docker 避免系统污染: ```bash docker run --rm -it px4io/px4-dev-ros2:v1.13.2 bash ``` ---
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值