Kommentit
Vastaa
Komento bash ./program.elf
lähettää tiedoston bash-tulkin kautta.
Elf-tiedosto on käännetty binääritiedosto, ja sen pitäisi toimia komentoriviltä näin: ./program.elf
Älä unohda asettaa tiedostolle suoritettavaa bittiä:
chmod a+x ./program.elf
Vastaa
Minusta on paljon yleisempää, että ARMv7-prosessori on ARMv7-A-malli (sellainen, jota käytetään Snapdragon 600/800 -laitteessa Galaxy S4: ssä ja Nexuksessa) 5 ja Raspberry Pi 2 / malli B), mutta lähdössäsi järjestelmän siru on ARMv71 (alias ARMv7-versio 1). Näyttää olevan täysin mahdollista, että ARMv7-prosessorin SDK: n variantti, jonka valitsit ohjelmaa koottaessasi / rakentaessasi, oli yksinkertaisesti väärä ARMv7: n osajoukko, samanlainen kuin jos olisit halunnut rakentaa ARMv7-A: lle ja sen sijaan rakentaa ARMv7-M: lle. Nyt tämä on vain arvaus, koska minulla ei ole aavistustakaan, mitä prosessoria / laitetta rakennit tai rakensit kyseiseen asiaan, mutta kun otetaan huomioon SoC-prosessorien valintakyky, kun on kyse ohjelmista, joita ei ole erikseen koottu heille, ehdotan lähteen kääntämistä suoraan kyseiselle koneelle, jos mahdollista.
Kommentit
- Natiivin kääntäminen oli ensimmäinen ajatukseni, mutta sen yrittäminen toi esiin toisenlaisen ongelmat, joita yritän ratkaista myös '. Siru, jota käytän, on Xilinx-prosessori, ja kokoan Xilinx SDK: n Windows-tietokoneella. Olin olettaa, että Xilinx SDK: n tulisi kääntää oikea arkkitehtuuri ARM: lle, jota he käyttävät Xilinx-prosessoreissa, joten ' on minulle outoa, että se ei ' ei näytä olevan kyse.
- Tarkasteltaessa näyttää siltä, että Xilinxillä on useita prosessoriperheitä, jotka kaikki kuuluvat ARMv7x-luokkaan, mutta hyödyntävät erilaisia yhdistelmiä eri käsivarsiytimistä, jotka löytyy usein ARMv7-prosessorista. Esimerkiksi yhdessä mallissa voi olla kaksi A9-Cortexia ja A7-Cortex toissijaisena rinnakkaisprosessorina, kun taas toisessa mallissa voi olla yksi A8-Cortex ja toinen ainoa A5-Cortex sen prosessorina. (Minulla ei ole aavistustakaan, ovatko nämä todellisia yhdistelmiä Xilinx-suorittimissa, vain esimerkkejä: P
readelf -A ./program.elf
-tiedot vahvistaaksesi. Onko virheessä enemmän kuin " ei voi suorittaa binaaritiedostoa "?bash ./program.elf
? Tonttu-tiedosto EI ole bash-komentosarja. Älä aja sitä bash-tulkin läpi. Se on tonttu-tiedosto./program.elf
. Oletetaan, että suoritetaan bittisarja.chmod a+x ./program.elf
.