Code Monkey home page Code Monkey logo

Comments (4)

rsta2 avatar rsta2 commented on June 25, 2024

Here we go. You go to the following website:

https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads

On this website you go down to and open "Downloads: 12.2.Rel1", because this is still the recommended toolchain for Circle. You look for the host/target combination, you want to use, for example:

  • arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi.tar.xz (for x86_64 Linux host and AArch32 bare-metal target)
  • arm-gnu-toolchain-12.2.rel1-x86_64-aarch64-none-elf.tar.xz (for x86_64 Linux host and AArch64 bare-metal target)

The host is the system, where you do your developing on. The target is your Raspberry Pi computer. RPi 1-2 only support AArch32, RPi 3-4 (including RPi Zero 2 W) additionally support AArch64. You have to decide, if you want to build 32- or 64-bit target images.

Now that you have the toolchain archive on your hard disk, you extract it, for example to:

/home/user/tools

A new directory appears (for AArch32 here):

/home/user/tools/arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi

When you look into the subdirectory bin/ of this path, you will find the toolchain binaries, for example:

/home/user/tools/arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi/bin/arm-none-eabi-gcc

You strip the "gcc" from the path and that's your toolchain prefix for Circle:

PREFIX = /home/user/tools/arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi/bin/arm-none-eabi-

If you want to build 64-bit kernel images, you have to set PREFIX64 instead. That means PREFIX is for AArch32 target images and PREFIX64 for AArch64 target images. The architecture of your development host does not count here.

You can also use the configure tool to set-up your configuration (for the RPi 4, AArch32 here):

$ ./configure -r 4 -p /home/user/tools/arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi/bin/arm-none-eabi-

configure automatically determines, if AArch32 or AArch64 is used, and writes the right prefix variable (PREFIX or PREFIX64) to the configuration file Config.mk.

from circle.

tastycode avatar tastycode commented on June 25, 2024

Thank you. I will try this out. It might be worth noting in the README to avoid using the .pkg method which is also available on that page.

from circle.

rsta2 avatar rsta2 commented on June 25, 2024

from circle.

rsta2 avatar rsta2 commented on June 25, 2024

Closed due to inactivity.

from circle.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.