我正在使用yocto项目。
我有一个sama5d27 som1 ek1板。我使它可以从SD卡启动。现在,我想交叉编译Helloworld.c
文件并在sama5板上执行它。
问题是:如何将.bin编译文件从主机发送到sama5板并执行它?
谢谢。
答案 0 :(得分:2)
您还可以在主机PC上创建nfs服务器(例如在Ubuntu上非常简单),并在Yocto映像中安装nfs客户端,该映像已经安装在meta-atmel的标准映像中(atmel-demo-image,等)。
运行后,可以使用以下命令将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