Difference between revisions of "Arm-linux-gnueabi-gcc un qemu-arm"
(→Instalācija uz Ubuntu) |
|||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{TocRight}} |
{{TocRight}} |
||
Iespējams, jūs vēlaties kompilēt un testēt arm platformas programmas uz sava datora. |
Iespējams, jūs vēlaties kompilēt un testēt arm platformas programmas uz sava datora. |
||
Tad nepieciešams uzstādīt kros-kompilācijas rīkus |
Tad nepieciešams uzstādīt kros-kompilācijas rīkus, gdb, bibliotēkas un emulatoru qemu priekš arm platformas. |
||
==Instalācija uz Ubuntu== |
==Instalācija uz Ubuntu== |
||
Šis testēts uz Ubuntu |
Šis testēts uz Ubuntu 20.04. |
||
sudo apt-get install gcc-arm-linux-gnueabi |
sudo apt-get install gcc-arm-linux-gnueabi linux-libc-dev-armel-cross qemu-user |
||
Vadzēs arī gdb-multiarch atkļūmotāju: |
Vadzēs arī gdb-multiarch atkļūmotāju: |
||
Line 11: | Line 11: | ||
Iespējams, noderēs arī šie: |
Iespējams, noderēs arī šie: |
||
sudo apt-get install build-essential binutils gcc |
sudo apt-get install build-essential binutils gcc git ddd |
||
==Instalācija uz Debian== |
==Instalācija uz Debian== |
||
Line 42: | Line 42: | ||
Šobrīd uz ''asm1'' servera versijas ir šādas: |
Šobrīd uz ''asm1'' servera versijas ir šādas: |
||
* arm-linux-gnueabi-gcc: gcc version |
* arm-linux-gnueabi-gcc: gcc version 7.3.0 (Ubuntu/Linaro 7.3.0-27ubuntu1~18.04) |
||
* qemu-arm: qemu-arm version |
* qemu-arm: qemu-arm version 2.11.1(Debian 1:2.11+dfsg-1ubuntu7.10) |
||
Bet, piemēram, Ubuntu |
Bet, piemēram, Ubuntu repozitorijās versijas varētu būt citas. |
||
* arm-linux-gnueabi-gcc: gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1) |
|||
* qemu-arm: version 2.0.0 (Debian 2.0.0+dfsg-2ubuntu1.10) |
Latest revision as of 15:13, 7 November 2022
Iespējams, jūs vēlaties kompilēt un testēt arm platformas programmas uz sava datora. Tad nepieciešams uzstādīt kros-kompilācijas rīkus, gdb, bibliotēkas un emulatoru qemu priekš arm platformas.
Instalācija uz Ubuntu
Šis testēts uz Ubuntu 20.04.
sudo apt-get install gcc-arm-linux-gnueabi linux-libc-dev-armel-cross qemu-user
Vadzēs arī gdb-multiarch atkļūmotāju:
sudo apt-get install gdb-multiarch
Iespējams, noderēs arī šie:
sudo apt-get install build-essential binutils gcc git ddd
Instalācija uz Debian
Šis testēts uz Debian Wheezy.
Jums jāpieliek sekojoša apt-get repozitorija /etc/apt/sources.list failā
deb http://www.emdebian.org/debian/ stable main
Tad jūs varat installēt rīkus:
apt-get update apt-get install linux-libc-dev-armel-cross gcc-4.4-arm-linux-gnueabi gdb-arm-linux-gnueabi
Lietošana
Tagad varam kompilēt programmu myprog.c arm platformai, piemēram, šādi.
arm-linux-gnueabi-gcc -g -mcpu=xscale -O0 -Wall -o myprog.o -c myprog.c arm-linux-gnueabi-gcc -o myprog myprog.o
Tagad varam darbināt arm programmu, piemēram, myprog ar qemu-arm
qemu-arm -L /usr/arm-linux-gnueabi myprog
Parametrs -L vajadzīgs, lai atrastu arm platformai piederīgās bibliotēkas
Versijas
Ņemiet vērā, ka arm-linux-gnueabi-gcc un qemu-arm attīstās, un dažādas versijas spēj izķert vai ignorē dažādas kļūmes. Tāpēc, ja jūsu darbs iet "bez kļūdām" uz LU DF asm1 servera, tas nenozīmē ka visas kļūmes ir izķertas. Parasti jaunākas versijas spēj brīdināt par vairāk kļūdām.
Šobrīd uz asm1 servera versijas ir šādas:
- arm-linux-gnueabi-gcc: gcc version 7.3.0 (Ubuntu/Linaro 7.3.0-27ubuntu1~18.04)
- qemu-arm: qemu-arm version 2.11.1(Debian 1:2.11+dfsg-1ubuntu7.10)
Bet, piemēram, Ubuntu repozitorijās versijas varētu būt citas.