Komentáře
Odpověď
Příkaz bash ./program.elf
odešle soubor přes interpret bash.
Soubor elfů je kompilovaný binární soubor a měl by běžet z příkazového řádku takto: ./program.elf
Nezapomeňte nastavit spustitelný bit pro soubor pomocí:
chmod a+x ./program.elf
Odpovědět
Z toho, co vím, je mnohem běžnější, že procesorem ARMv7 je model ARMv7-A (ten, který se používá pro Snapdragon 600/800 v Galaxy S4 a Nexus 5, stejně jako Raspberry Pi 2 / model B), ale váš výstup uvádí systémový čip jako ARMv71 (aka ARMv7 revize 1). Zdá se zcela možné, že varianta sady SDK ARMv7 procesoru, kterou jste vybrali při kompilaci / budování programu, byla prostě nesprávnou podmnožinou ARMv7, podobně jako kdybyste chtěli stavět pro ARMv7-A a místo toho postavit pro ARMv7-M. Nyní je to jen odhad, protože nemám tušení, pro jaký procesor / zařízení jste stavěli, nebo na tom stavíme, ale vzhledem k tomu, jak vybíravé procesory SoC jsou, pokud jde o spouštění programů, které nejsou pro ně konkrétně kompilovány, navrhuji kompilaci zdroje přímo na dotyčném počítači, pokud je to možné.
Komentáře
- Nativní kompilace byla moje první myšlenka, ale pokus o to přinesl jinou sadu problémy, které se ' také snažím vyřešit. Čip, který používám, je procesor Xilinx a kompiluji na Xilinx SDK v počítači se systémem Windows. Předpokládal jsem, že Xilinx SDK by měl kompilovat pro správnou architekturu pro ARM, které používají v procesorech Xilinx, takže mi je ' divné, že to ' Zdá se, že tomu tak není.
- Podíváme-li se na to, zdá se, že Xilinx má několik rodin procesorů, které všechny spadají do kategorie ARMv7x, ale využívají různé kombinace různých jader paží, které se často nacházejí v ARMv7 cpus. Například jeden model může mít dva A9-Cortexes a A7-Cortex jako sekundární koprocesor, zatímco jiný může mít jeden A8-Cortex s dalším jediným A5-Cortex jako svým koprocesorem. (Nemám tušení, jestli se jedná o skutečná komba přítomná v procesorech Xilinx, jen příklady: P
readelf -A ./program.elf
. Je v chybě víc, než " nemůže spustit binární soubor "?bash ./program.elf
? Soubor elf NENÍ bash skript. Nespouštějte to přes tlumočník bash. Je to soubor elfů./program.elf
. Předpokládejme, že je nastavena sada bitů.chmod a+x ./program.elf
.