Vad är skillnaden mellan ARM och armv71? [stängd]

<åt sidan class = "s-notice s-notice__info js-post-notice mb16" role = "status">

Stängt . Den här frågan behöver detaljer eller tydlighet . För närvarande accepteras inte svar.

Kommentarer

  • Kompilerade du det här programmet? Vad är resultatet av readelf -A ./program.elf? Det finns ett antal armversioner. ARMv2, ARMv3, ARMv5, ARMv7 … hard-float och soft-float ABI: etc.
  • Tittar på den här webbplatsen ( wiki.debian.org / ArmEabiPort ) det ser ut som det ..: ska: .. fungera. Måste jaga kompileringsalternativen jämfört med din hårdvara.
  • Jag kompilerade programmet på en annan dator med en SDK, men att SDK tillhandahålls av tillverkarna av processorn I ' använder jag, så jag skulle kunna föreställa mig att deras SDK borde ha byggkonfigurationer för att rikta in sig på sitt eget chip, rätt?
  • Det skulle jag också gissa, men SDK kan användas för flera µ P. Kontrollera fortfarande readelf -A ./program.elf informationen för att verifiera. Finns det mer i felet än att " inte kan köra binär fil "?
  • Vänta. bash ./program.elf? Elf-filen är INTE ett bash-skript. Kör inte den genom bash-tolken. Det är en elf-fil ./program.elf. Antag att köra bituppsättning. chmod a+x ./program.elf.

Svar

Kommandot bash ./program.elf skickar filen genom bash-tolken.

En elf-fil är en kompilerad binär fil och ska köras från kommandoraden så här: ./program.elf

Glöm inte att ställa in den körbara biten för filen med:

chmod a+x ./program.elf 

Svar

Från vad jag kan säga är det mycket vanligare att en ARMv7-processor är modellen ARMv7-A (den typ som används för Snapdragon 600/800 i Galaxy S4 och Nexus 5 respektive Raspberry Pi 2 / modell B), men din utdata listar systemchipet som en ARMv71 (även kallad ARMv7 Revision 1). Det verkar helt möjligt att den variant av ARMv7-processor SDK du valde när du kompilerade / byggde programmet helt enkelt var fel delmängd av ARMv7, liknande om du hade tänkt att bygga för ARMv7-A och istället byggt för ARMv7-M. Nu är det bara en gissning eftersom jag inte har någon aning om vilken processor / enhet du byggde för, eller byggde på för den delen, men med tanke på hur kräsna SoC-processorer är när det gäller att köra program som inte kompilerats specifikt för dem skulle jag föreslå att kompilera källa direkt på maskinen ifråga om möjligt.

Kommentarer

  • Att kompilera inbyggt var min första tanke, men att försöka göra det tog upp en annan uppsättning problem som jag ' också försöker lösa. Chipet jag använder är en Xilinx-processor och jag kompilerar på Xilinx SDK på en Windows-dator. Jag antog att Xilinx SDK skulle kompilera för rätt arkitektur för ARM som de använder i Xilinx-processorer, så det ' är konstigt för mig att det inte ' Det verkar inte vara fallet.
  • När man tittar på det verkar det som om Xilinx har flera processorfamiljer, som alla faller under ARMv7x-kategorin, men använder olika kombinationer av olika armkärnor som finns ofta i ARMv7 cpus. Till exempel kan en modell ha två A9-Cortexes och en A7-Cortex som en sekundär co-processor, medan en annan kan ha en A8-Cortex med en annan enda A5-Cortex som sin co-processor. (Jag har ingen aning om det här är riktiga kombinationer som finns i Xilinx-processorer, bara exempel: P

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *