2016-11-08 3 views
1

У меня есть встроенное устройство, состоящее из 32-разрядных процессоров Winbond ARM-7 и операционной системы uClinux. У меня 64-разрядная машина Windows 7. Я установил Virtual Box для Ubuntu для компиляции программы, а также для ее загрузки через ftp-сервер. файл во встроенном устройстве выполняется с сервера telnet. У устройства есть свой собственный файл vdi, но он не может открыть изображение в виртуальном поле, поэтому я устанавливаю Ubuntu в Virtual Box.Ошибка формата Exec при выполнении файла во встроенном устройстве из telnet

Проблемы:

  1. Когда я компилирую программу и загрузить в устройство через FTP, при выполнении файла из телнет его не выполняет программу и показывает «Exec ошибка в формате». Итак, я отладил исполняемый файл, который он показывает «обнаружено обнаружение стека». Как это решить?

  2. Когда я копирую образец кода из Windows в Ubuntu с сервера на виртуальной машине и загружаю программу в устройство через ftp, не выполняется. И то же самое я сделал с Windows 7, я загрузил образец кода в устройство через windows ftp, программа выполняется. Почему это происходит?

+0

Как вы собрали эту программу? Вам нужно скомпилировать его специально для этого устройства. –

+0

Я скомпилировал программу в Ubuntu с помощью Virtual Box. – bp04

ответ

0

Вы не можете запустить программу, созданную для различной архитектуры. Ваше приложение построено для 64-разрядной архитектуры x86, и вы пытаетесь запустить его на 32-разрядной ARM). Вам необходимо выполнить кросс-компиляцию вашей программы для данной архитектуры.

Здесь вы можете прочитать о кросс-компиляции: