mirror of
https://github.com/saymrwulf/xous-core.git
synced 2026-11-15 08:30:02 +00:00
xous-rs: extend assemble script with arm arch
This commit is contained in:
parent
92969c8d42
commit
b720426855
1 changed files with 50 additions and 11 deletions
|
|
@ -1,23 +1,62 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# SPDX-FileCopyrightText: 2020 Sean Cross <sean@xobs.io>
|
||||
# SPDX-FileCopyrightText: 2023 Foundation Devices, Inc <hello@foundationdevices.com>
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
set -euxo pipefail
|
||||
|
||||
crate=xous-kernel
|
||||
|
||||
# remove existing blobs because otherwise this will append object files to the old blobs
|
||||
usage() {
|
||||
echo "Usage: $0 [-a <riscv|arm>]"
|
||||
exit 1
|
||||
}
|
||||
|
||||
while getopts "a:" o; do
|
||||
case "${o}" in
|
||||
a)
|
||||
arch=$OPTARG
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
arch=${arch:-riscv}
|
||||
|
||||
mkdir -p bin
|
||||
rm -f bin/*.a
|
||||
|
||||
riscv64-unknown-elf-gcc -ggdb3 -c -mabi=ilp32 -march=rv32imac src/asm.S -o bin/$crate.o
|
||||
ar crs bin/riscv32imac-unknown-none-elf.a bin/$crate.o
|
||||
ar crs bin/riscv32imac-unknown-xous-elf.a bin/$crate.o
|
||||
ar crs bin/riscv32imc-unknown-none-elf.a bin/$crate.o
|
||||
case $arch in
|
||||
riscv)
|
||||
# Remove existing blobs because otherwise this will append object
|
||||
# files to the old blobs
|
||||
rm -f bin/riscv*.a
|
||||
|
||||
riscv64-unknown-elf-gcc -ggdb3 -c -mabi=ilp32 -march=rv32i src/asm.S -DSKIP_MULTICORE -o bin/$crate.o
|
||||
ar crs bin/riscv32i-unknown-none-elf.a bin/$crate.o
|
||||
riscv64-unknown-elf-gcc -ggdb3 -c -mabi=ilp32 -march=rv32imac src/arch/riscv/asm.S -o bin/$crate.o
|
||||
ar crs bin/riscv32imac-unknown-none-elf.a bin/$crate.o
|
||||
ar crs bin/riscv32imac-unknown-xous-elf.a bin/$crate.o
|
||||
ar crs bin/riscv32imc-unknown-none-elf.a bin/$crate.o
|
||||
|
||||
riscv64-unknown-elf-gcc -ggdb3 -c -mabi=lp64 -march=rv64imac src/asm.S -o bin/$crate.o
|
||||
ar crs bin/riscv64imac-unknown-none-elf.a bin/$crate.o
|
||||
ar crs bin/riscv64gc-unknown-none-elf.a bin/$crate.o
|
||||
riscv64-unknown-elf-gcc -ggdb3 -c -mabi=ilp32 -march=rv32i src/arch/riscv/asm.S -DSKIP_MULTICORE -o bin/$crate.o
|
||||
ar crs bin/riscv32i-unknown-none-elf.a bin/$crate.o
|
||||
|
||||
riscv64-unknown-elf-gcc -ggdb3 -c -mabi=lp64 -march=rv64imac src/arch/riscv/asm.S -o bin/$crate.o
|
||||
ar crs bin/riscv64imac-unknown-none-elf.a bin/$crate.o
|
||||
ar crs bin/riscv64gc-unknown-none-elf.a bin/$crate.o
|
||||
;;
|
||||
|
||||
arm)
|
||||
rm -f bin/arm*.a
|
||||
|
||||
arm-none-eabi-gcc -ggdb3 -c -march=armv7-a src/arch/arm/asm.S -o bin/$crate.o
|
||||
ar crs bin/armv7a-unknown-xous-elf.a bin/$crate.o
|
||||
;;
|
||||
|
||||
default)
|
||||
usage
|
||||
;;
|
||||
esac
|
||||
|
||||
rm bin/$crate.o
|
||||
|
|
|
|||
Loading…
Reference in a new issue