Как отправить скомпилированный файл на доску sama5d27 и выполнить его? - PullRequest
0 голосов
/ 10 мая 2019

Я использую проект yocto.

У меня есть доска sama5d27 som1 ek1.Я сделал его загрузочным с SD-карты.Теперь я хочу сделать кросс-компиляцию файла Helloworld.c и выполнить его на плате sama5.

Проблема заключается в следующем: как отправить скомпилированный файл .bin с моего хоста на плату sama5 и выполнить его?

Спасибо.

1 Ответ

2 голосов
/ 11 мая 2019

Вы также можете создать сервер nfs на своем хост-компьютере (очень легко, например, в Ubuntu) и установить клиент nfs в образ Yocto, который уже установлен в стандартных образах из meta-atmel (atmel-demo-image, и т.д.).

После запуска вы можете смонтировать том nfs внутри вашей цели с помощью следующей команды:

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

Он создает мост между вашей целью и вашим ПК, который действительно полезен для разработчиков. Тогда действительно легко работать, компилировать, перекомпилировать на хосте и получать результат непосредственно внутри цели, если результат компиляции находится непосредственно в экспортированном каталоге вашего хоста.

P.S .: Вы должны разрешить свою цель (диапазон IP возможен) в файле / etc / exports вашей хост-системы, как, вероятно, объяснено в настройке сервера nfs вашего дистрибутива хоста.

Редактировать: Что касается способа выполнения двоичного файла, прежде всего вам нужно сделать его исполняемым, если это еще не сделано.

$ chmod +x <the binary>

Вы можете узнать, является ли файл исполняемым, используя команду ls с параметром -la args:

$ 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
...