Priprema razvojne okoline na ARM procesorima (Mac)

Ostale upute pretpostavljaju da je razvojno računalo x86 kompatibilno pa su razvojni alati dovoljni (uz posebne zastavice). Međutim, mnogi današnji (razvojni) sustavi danas koriste ARM procesore. Na njima treba malo promijeniti postupak pripreme razvojne okoline.

U nastavku je prikazan jedan način čije je upute pripremio student Lovro Grgurić Mileusnić (korake od 1. do 4.).

  1. Instalirati alat UTM (frontend za qemu)
  2. Preuzeti i instalirati Ubuntu za UTM
  3. Instalacija paketa iz uputa (možda dovoljno: git qemu-system gcc binutils make gdb)
  4. Razvoj za i386 (ARCH=i386, default)
    1. Instalirati paket gcc-multilib-i686-linux-gnu koji sadrži cross compiler za i386
    2. U datoteci (u svim direktorijima koji se koriste) arch/i386/config.ini promijeniti CC i LINK varijable:
      LINK = i686-linux-gnu-ld
      CC = i686-linux-gnu-gcc
      (kasnije isto sa CC_K, LINK_K, CC_U, LINK_U)
      
    3. Za korištenje debuggera umjesto gdb koristiti gdb-multiarch:
      1. instalirati ga sa sudo apt install gdb-multiarch
      2. postaviti DEBUG_GDB = gdb-multiarch u datoteci config.ini
    4. Dalje raditi prema uputama.
  5. Razvoj za ARM (ARCH=arm)
    1. Možda instalirati pakete: gcc-arm-none-eabi (možda i gcc-multilib)
    2. Pri prevođenju dodati ARCH=arm:
      • pri samom pokretanju: make ARCH=arm qemu
      • ili u ljusci s koje se pokreće postaviti varijablu okoline: export ARCH=arm
      • ili u datoteku .bashrc (na kraj) dodati export ARCH=arm (.bashrc je u početnom direktoriju korisnika) pa će ona biti postavljena odmah pri pokretanju ljuske.
    3. U sloju arhitekture mijenjati kod u direktoriju arm (ne i386).
    4. Iako Benu nema podršku za arm do kraja (staje na 08/02), sve vježbe se mogu raditi s arm arhitekturom jer je i zadnja na 07/06.
    5. Prekid qemu-a kada se koristi arm postiže se sa: Ctrl+A pa X.