windows编辑好的代码如何传到ubuntu上?在ubuntu上编译好的代码如何传给开发板?开发板接收到程序到底如何运行它呢?

本文介绍了如何使用FileZilla在Windows和Ubuntu之间高效传输代码,以及如何通过NFS协议在开发板上挂载Ubuntu文件。还详细讲解了如何通过USB串口和MobaXterm在Windows上控制开发板并执行Linux命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.windows编辑好的代码如何传到ubuntu上?

推荐软件:Filezilla

使用 MobaXterm 既可以 ssh 登录又可以传输文件,不过 Mobaxterm 在传输文件时使用效率上没有 FileZilla 高,所以我们推荐 Windows 和 Ubuntu互相传输文件时使用 FileZilla。

1.1Filezilla的使用

双击打开 FileZilla 后,按图 2.6 操作:

 注:主机IP与密码根据你主机电脑的实际情况填写,用户名必须填book,端口号填22

第 1 次连接时,会有如图 2.7 所示的提示,选择“总是信任”。

 在 Filezilla 中,左边是 Windows 文件,右边是 Ubuntu 的文件,如图 2.8:

2.在ubuntu上编译好的代码如何传给开发板?

2.1.什么是 NFS 协议?

NFS(网络文件系统),是net file system的英文简称,其整个架构为 Client-Server 架构,客户端和服务端通过 RPC 协议进行通信,RPC 协议可以简单的理解为一个基于 TCP 的应用层协议,它简化命令和数据的传输。 NFS 最大的特点是将服务端的文件系统目录树映射到客户端,而在客户端访问该 目录树与访问本地文件系统没有任何差别,客户端并不知道这个文件系统目录树是本地的还是远在另外一台服务器。(简单来说:比如我是一个18岁忍者,我现在即要在学校为高考学习,但是因为我是忍者,所以我才不想去呢。所以我使用分身去学校学习,我本人在家睡觉。该分身很厉害,有自己的思维,可以自主学习。万一为了防止被老师发现在学校里的是我的分身,在老师提问时,我本人可以传输话语让分身来回答,因为分身也有自己的思维,所有我本人传输给他的话语,他会误认为是自己思考出来的答案)。

NFS 实现了一个跨越网络的文件访问功能,可以使使用者访问网络上别处的文件就像在使用自己的计算机一样。

2.2.开发板挂载 Ubuntu 的 NFS 目录

2.2.1确定 ubuntu 的桥接网卡 IP

开发板要想访问 Ubuntu,要先确定 ubuntu 的桥接网卡的 IP,在 Ubuntu 终 端下使用 ifconfig 命令来查看 IP。

 2.2.2.在开发板上执行 mount nfs 命令

ubuntu 的 IP 是 192.168.5.11,确保开发板能 ping 通 ubuntu 后,在开 发板上执行以下命令挂载 NFS:

mount -t nfs -o nolock,vers=3 192.168.5.11:/home/book/nfs_rootfs /mnt

mount 命令用来挂载各种支持的文件系统协议到某个目录下。 mount 成功之后,开发板在/mnt 目录下读写文件时,实际上访问的就是 Ubuntu 中的/home/book/nfs_rootfs 目录,所以开发板和Ubuntu 之间通过 NFS 可以很方便地共享文件。在开发过程中,在 Ubuntu 中编译好程序后放入/home/book/nfs_rootfs 目录,开发板mount nfs 后就可以直接通过/mnt 访问 Ubuntu 中的文件。

3.开发板接收到程序到底如何运行它呢?

windows使用串口控制开发板。(远程登陆

3.1.安装 USB 串口模块驱动

接好 micro usb 数据线后,Windows 会自动安装驱动(安装可能比较慢,等 一分钟左右)。打开电脑的“设备管理器”,在“端口(COM 和 LPT)”项下,可以 看到如图 3.9 中的“(COM17)”或“(COM19)”。开发板上的 USB 串口芯片可能 是 CP210x 或 CH9102,它们的性能是一样的。你电脑上显示的 COM 序号可能不 一样,记住你电脑显示的数字。

如果电脑没有显示出端口号,就需要手动安装驱动,已经将驱动安装包放入 网盘资料中了:

 果电脑中没有自动安装驱动,在“设备管理器”会有黄色感叹号提示当前 连接的是哪种类型的串口芯片,根据提示选择驱动安装。如果提示中有“CP210x” 字样则选择“CP210x_Windows_Drivers.zip”,否则就选择另外一个驱动安装。

3.2使用Mobaxterm打开串口

打开 MobaXterm,点击左上角的“Session”,在弹出的界面选中“Serial”, 如下图所示选择端口号(前面设备管理器显示的端口号 COM17 或 COM19)、波特 率(Speed 115200)、流控(Flow Control: none),最后点击“OK”即可。 

注意:流控(Flow Control)一定要选择 none,否则你将无法在 MobaXterm 中 91 / 566 向串口输入数据。

 随后显示一个黑色的窗口, 此时打开板子的电源开关,将收到板子串口发 过来的数据。

3.3通过串口操作开发板

在串口看到“imx6ull login:”这类登录的提示信息时,输入“root”并 回车即可,然后就可以执行各种 Linux 命令了。

### 在Ubuntu编译代码并将程序下载到开发板运行的流程 #### 1. 安装必要的依赖包 在开始编译之前,需要确保宿主机已经安装了所有必需的依赖项。这些依赖通常包括构建工具、库和其他支持软件。具体可以参考以下命令来安装所需的依赖包[^1]: ```bash sudo apt update sudo apt install build-essential git-core libncurses5-dev zlib1g-dev gcc-multilib g++-multilib libc6-i386 lib32z1 autoconf bison flex texinfo wget unzip python-minimal dosfstools kmod parted debootstrap ``` #### 2. 配置交叉编译环境 由于嵌入式设备资源有限,通常会在宿主机(如Ubuntu)上使用交叉编译链生成目标平台可执行的二进制文件。根据具体的开发板型号选择合适的交叉编译器,并将其路径添加到系统的`PATH`变量中[^4]。 假设使用的交叉编译器为`arm-linux-gnueabihf-gcc`,可以通过如下方法设置环境变量: ```bash export PATH=$PATH:/path/to/cross/compiler/bin export CROSS_COMPILE=arm-linux-gnueabihf- ``` #### 3. 获取并解压源码 从官方仓库或其他可信渠道获取待编译项目的源码压缩包或Git仓库地址。例如,如果要编译Linux内核,则可以从Kernel.org下载最新稳定版本或者克隆特定分支的代码库。 对于其他应用程序来说也是如此,比如Qt框架就需要单独准备其源码树[^5]。 #### 4. 修改Makefile配置选项 进入源码根目录后,可能还需要调整一些默认参数以适配实际需求。这一步骤涉及编辑`.config`文件或是调用专门用于定制化的脚本来完成初始化工作。例如针对ARM架构下的Linux应用开发而言,经常需要用到`make menuconfig`这样的交互界面来进行细粒度的选择。 另外当涉及到图形界面部分时(像QT),则需额外指定qmake工具所在位置以便于后续链接阶段能够正确识别所需组件: ```bash ./configure -release -prefix /opt/qt5 \ -sysroot $SYSROOT_PATH \ -device imx6ullpro \ -device-option CROSS_COMPILE=${CROSS_COMPILER} \ ... ``` > 注:上述仅为示意片段,请依据实际情况补充完整参数列表。 #### 5. 执行正式编译过程 一切准备工作就绪之后即可启动真正的构建环节。一般情况下只需简单输入`make`指令即会按照预定义好的规则逐步生成最终产物;当然也可以附加更多控制标志加速整个流水线运转效率(`-j$(nproc)`表示充分利用多核心CPU)[^1]. #### 6. 将生成的目标文件传送到目标设备 有多种途径可以把刚制作出来的成果部署至远端节点之上。最常见的方式莫过于借助NFS网络文件系统实现无缝同步效果——只要事先做好相应服务端口开启授权设定等工作便可轻松达成目的[^2]。 另一种较为传统但也十分可靠的办法便是采用SD卡作为媒介载体手动拷贝过去后再重启加载新镜像[^3]。 #### 7. 调试验证功能正常运作 最后一步就是确认上传后的实例能否按预期发挥作用啦!可通过串口终端观察打印日志信息排查潜在错误原因;亦或者是运用GDB远程调试手段深入剖析内部机制行为特征等等。 --- ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值