0
我使用的嵌入式PC具有Vortex86-SG
CPU,Ubuntu 10.04 w/kernel 2.6.34.10-vortex86-sg
。不幸的是,我們無法編譯新內核,因爲我們沒有任何源代碼,甚至沒有驅動程序或補丁。在Vortex86上編譯:「非法指令」
我必須運行一個用C++編寫的小項目OpenFrameworks。該框架編譯of_v0071_linux_release/scripts/linux/ubuntu/install_*.sh
中的每個腳本。
我注意到,爲了進行編譯的Vortex86/Ubuntu的10.04,下列選項必須在每個config.make
文件中加入:
USER_CFLAGS = -march=i486
USER_LDFLAGS = -lGLEW
效果器,它編譯沒有錯誤,但生成的二進制沒有按「T開始在所有:
[email protected]:~/openframeworks/of_v0071_linux_release/apps/myApps/emptyExample/bin# ./emptyExample
Illegal instruction
[email protected]:~/openframeworks/of_v0071_linux_release/apps/myApps/emptyExample/bin# echo $?
132
strace的最後幾行:
munmap(0xb77c3000, 4096) = 0
rt_sigprocmask(SIG_BLOCK, [PIPE], NULL, 8) = 0
--- SIGILL (Illegal instruction) @ 0 (0) ---
+++ killed by SIGILL +++
Illegal instruction
[email protected]:~/openframeworks/of_v0071_linux_release/apps/myApps/emptyExample/bin#
任何想法來解決這個問題?
我沒有嘗試的過程,因爲我沒有更多的設備。不過這似乎是一個很好的起點! –