Mi a különbség az ARM és az armv71 között? [zárt]

Zárt . Ehhez a kérdéshez részletekre vagy egyértelműségre van szükség . Jelenleg nem fogadja el a válaszokat.

Megjegyzések

  • Fordította le ezt a programot? Mi a readelf -A ./program.elf kimenete? Számos Arm verzió létezik. ARMv2, ARMv3, ARMv5, ARMv7 … keményen lebegő és puha úszó ABI: stb.
  • Erre a webhelyre nézve ( wiki.debian.org / ArmEabiPort ) úgy néz ki ..: kellene: .. működnie. Előfordulhat, hogy le kell kergetnie a fordító opcióit a hardverével szemben.
  • A programot egy másik számítógépen állítottam össze SDK segítségével, de az SDK-t a processzor készítői biztosítják. I ' m használatával, úgyhogy elképzelném, hogy SDK-juknak rendelkeznie kell a saját chipjük megcélzásához szükséges építési konfigurációkkal, igaz?
  • Ez is az én tippem lenne, de az SDK használható több µ P. Ellenőrizze a readelf -A ./program.elf információkat. Több van-e a hibában, mint " nem tudja végrehajtani a " bináris fájlt?
  • Várjon. bash ./program.elf? Az elf fájl NEM bash szkript. Ne futtassa át a bash tolmácson. Ez egy elf fájl ./program.elf. Tegyük fel, hogy végrehajtjuk a bitkészletet. chmod a+x ./program.elf.

Válasz

A bash ./program.elf a fájlt a bash tolmácson keresztül küldi.

Az elf fájl egy lefordított bináris fájl, amelyet a parancssorból kell futtatnia: ./program.elf

Ne felejtse el beállítani a fájl futtatható bitjét a következővel:

chmod a+x ./program.elf 

Válasz

Megállapításom szerint sokkal gyakoribb, hogy egy ARMv7 processzor az ARMv7-A modell (az a fajta, amelyet a Snapdragon 600/800-hoz használnak a Galaxy S4 és a Nexus esetében) 5, valamint a Raspberry Pi 2 / B modell), azonban a kimenet ARMv71 (más néven ARMv7 Revision 1) néven sorolja fel a rendszerchipet. Teljesen lehetségesnek tűnik, hogy az ARMv7 processzor SDK változata, amelyet a program összeállításakor / felépítésekor választott ki, egyszerűen az ARMv7 rossz részhalmaza volt, hasonlóan ahhoz, mintha ARMv7-A-hoz akartál volna építeni, és ahelyett, hogy az ARMv7-M-hez készült volna. Most ez csak találgatás, mivel fogalmam sincs, hogy milyen processzort / eszközt épített vagy épített erre a kérdésre, de mivel a SoC processzorok mennyire válogatósak, amikor olyan programokat futtatnak, amelyek nem kifejezetten nekik vannak összeállítva, akkor javaslom a forrás fordítását ha lehetséges, közvetlenül a kérdéses gépre.

Megjegyzések

  • A natív fordítás volt az első gondolatom, de ennek megpróbálása másfajta problémákat, amelyeket én ' is megpróbálok megoldani. Az általam használt chip egy Xilinx processzor, és egy Windows számítógépen Xilinx SDK-n fordítok. Feltételeztem, hogy a Xilinx SDK-nak össze kell állítania a megfelelő architektúrát ahhoz az ARM-hoz, amelyet a Xilinx processzorokban használnak, ezért ' számomra furcsa, hogy ez nem ' úgy tűnik, hogy nem ez a helyzet.
  • Megvizsgálva úgy tűnik, mintha a Xilinx-nek több processzorcsaládja lenne, amelyek mindegyike az ARMv7x kategóriába tartozik, de a különböző karmagok különböző kombinációit használja, amelyek gyakran megtalálhatók az ARMv7 cpus-ban. Például az egyik modellben két A9-Cortex és egy A7-Cortex lehet másodlagos társprocesszor, míg egy másikban egy A8-Cortex lehet, míg egy másik A5-Cortex társprocesszor. (Fogalmam sincs, hogy ezek valódi kombók vannak-e a Xilinx CPU-ban, csak példák: P

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük