Getting started --------------- To start using Circle, you need to download the project and a toolchain [#tc]_, configure Circle for your target platform, build the Circle libraries and your application [#ap]_, and install the built binary image (the kernel image) [#ki]_ on a SD card, along with a number of firmware files. Furthermore an additional configuration file *config.txt* is needed on the SD card. The following notes require a x86_64 PC running Linux as development host. The file `doc/windows-build.txt `_ describes, how Windows can be used instead. Download ~~~~~~~~ The Circle project can be downloaded using *Git* as follows: .. code-block:: shell cd /path/to/your/projects git clone https://github.com/rsta2/circle.git The recommended toolchains for building Circle applications can be downloaded from `here `_. Please note that there are different toolchains for 32-bit (AArch32, normally *arm-none-eabi-*) and for 64-bit (AArch64, normally *aarch64-none-elf-*) targets. Configuration ~~~~~~~~~~~~~ .. important:: The Raspberry Pi 5 can only run 64-bit kernel images. Circle is configured using the file *Config.mk* in the project's root directory. This file can be created using the ``configure`` script, which provides these options: .. code-block:: none -r , --raspberrypi Raspberry Pi model number (1, 2, 3, 4, 5, default: 1) -p , --prefix Prefix of the toolchain commands (default: arm-none-eabi-, aarch64-none-elf- with -r 5) --multicore Allow multi-core applications --realtime Enable real time mode to improve IRQ latency --keymap Set default USB keymap (DE, ES, FR, IT, UK, US) --qemu Build for running under QEMU --kernel-max-size Set maximum size of the kernel image (default: 2) -d