32 ビット ARM-7 Winbond CPU と uClinux OS で構成される組み込みデバイスがあります。Windows 7 64 ビット マシンを使用しています。プログラムをコンパイルし、ftp サーバー経由でアップロードするために、Virtual Box for Ubuntu をインストールしました。組み込みデバイス内のファイルが telnet サーバーから実行されています。デバイスには独自の vdi ファイルがありますが、仮想ボックスでイメージを開くことができないため、Virtual Box に Ubuntu をインストールします。
問題は次のとおりです。
プログラムをコンパイルして ftp 経由でデバイスにアップロードすると、telnet からファイルを実行しているときにプログラムが実行されず、「Exec フォーマット エラー」が表示されます。それで、「スタックスマッシングが検出されました」と表示される実行可能ファイルをデバッグしました。これを解決するには?
Windows から仮想マシンのサーバーから Ubuntu にサンプル コードをコピーし、ftp 経由でデバイスにプログラムをロードすると、実行されません。そして、Windows 7で行ったのと同じように、プログラムが実行されているWindows ftpを介してサンプルコードをデバイスにアップロードしました。なぜこれが起こるのですか?