如何将编译后的文件发送到sama5d27板并执行?

How to send a compiled file to sama5d27 board and execute it?

我正在使用 yocto 项目。

我有一个 sama5d27 som1 ek1 板。我让它可以从 SD 卡启动。现在我想交叉编译一个Helloworld.c文件,然后在sama5板上执行。

问题是:如何将.bin编译文件从我的主机发送到sama5板并执行它?

谢谢。

您还可以在您的主机 PC 上创建一个 nfs 服务器(非常简单,例如在 Ubuntu 上)并在您的 Yocto 映像中安装 nfs 客户端,该客户端已安装在 [=29= 的标准映像中](atmel-demo-image,等等)。

一旦 运行ning,您可以使用以下命令在目标中安装 nfs 卷:

$ sudo mount -t nfs <host ip address>:<host mounting point> /mnt

它在您的目标和您的 PC 之间建立了一座桥梁,这对开发人员非常有用。 只要编译结果直接在主机的导出目录中,在主机上工作、编译、重新编译并直接在目标中获得结果就非常容易。

P.S.: 你需要在你的主机系统的文件 /etc/exports 中允许你的目标(IP 范围是可能的),这可能在你的主机发行版的 nfs 服务器设置中解释过。

编辑:关于如何执行二进制文件的方式,您首先需要使其可执行(如果尚未执行)。

$ chmod +x <the binary>

您可以使用带 -la args 的命令 ls 知道文件是否可执行:

$ ls -la
total 13776
drwxrwxrwx 1 user user     4096 May 11 16:34 .
drwxr-xr-x 1 user user     4096 May 11 16:34 ..
-rw-rw-rw- 1 user user 14103552 May 11 16:35 binary.bin <- not executable
$ chmod +x binary.bin
$ ls -la
total 13776
drwxrwxrwx 1 user user     4096 May 11 16:34 .
drwxr-xr-x 1 user user     4096 May 11 16:34 ..
-rwxrwxrwx 1 user user 14103552 May 11 16:35 binary.bin <- executable

然后运行二进制:

$ ./binary.bin
hello world