blob: 0d55dd89f7dfc7c889f470cbc0bf572b995738a0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# /***************************************************************************
# * Copyright (c) 2026 Eclipse ThreadX contributors
# *
# * This program and the accompanying materials are made available under the
# * terms of the MIT License which is available at
# * https://opensource.org/licenses/MIT.
# *
# * AI Disclosure: This file was largely AI-generated by Claude Code (Opus 5.5).
# * The AI-generated portions may be considered public domain (CC0-1.0)
# * and not subject to the project's licence. The human contributor has
# * reviewed and verified that the code is correct.
# *
# * SPDX-License-Identifier: MIT and CC0-1.0
# ***************************************************************************/
# CMake toolchain file for the Erbium example.
#
# Erbium implements only part of the F extension, so the example and the
# ThreadX library are built for the integer ISA with the soft-float lp64 ABI.
#
# Target ISA : rv64imc_zicsr_zifencei
# ABI : lp64 (64-bit long/ptr, soft-float)
# Code model : medany (MRAM at 0x40000000, peripherals above 2 GiB)
#
# The riscv64-unknown-elf toolchain installed by scripts/install_riscv.sh is
# built for lp64d only, so the example links without libc and libgcc
# (-nostdlib); a missing helper is a link error rather than an ABI mix.
set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_SYSTEM_PROCESSOR risc-v64)
set(THREADX_ARCH "risc-v64")
set(THREADX_TOOLCHAIN "gnu")
set(ARCH_FLAGS "-g -march=rv64imc_zicsr_zifencei -mabi=lp64 -mcmodel=medany")
set(CFLAGS "${ARCH_FLAGS}")
set(ASFLAGS "${ARCH_FLAGS}")
set(LDFLAGS "${ARCH_FLAGS}")
include(${CMAKE_CURRENT_LIST_DIR}/../../../../../cmake/riscv64-unknown-elf.cmake)
|