diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1cd9751..5607c20 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -180,7 +180,8 @@ jobs: - name: Use ARMv6 container run: | docker run --rm -v $PWD:/app -w /app --platform linux/arm/v6 ghcr.io/nonannet/armv6_test:1 \ - bash -lc "pip install .[mindev] && \ + bash -lc "set -x && \ + pip install .[mindev] && \ mkdir -p build/runner && \ gcc -O3 -static -DENABLE_LOGGING -o build/runner/coparun src/coparun/runmem.c \ src/coparun/coparun.c src/coparun/mem_man.c && \ @@ -209,14 +210,17 @@ jobs: - name: Use ARMv7 container run: | docker run --rm -v $PWD:/app -w /app --platform linux/arm/v7 ghcr.io/nonannet/armv7_test:1 \ - bash -lc "pip install .[mindev] && \ + bash -lc "set -x && \ + pip install .[mindev] && \ mkdir -p build/runner && \ - gcc -march=armv7-a -mfpu=neon-vfpv3 -mfloat-abi=hard -marm -static \ + gcc -march=armv7-a -mfpu=neon-vfpv3 -mfloat-abi=hard -marm -static \ -Wall -Wextra -Wconversion -Wsign-conversion \ -Wshadow -Wstrict-overflow -O3 \ -DENABLE_LOGGING \ -o build/runner/coparun src/coparun/runmem.c \ src/coparun/coparun.c src/coparun/mem_man.c && \ + python3 tools/make_example.py && \ + build/runner/coparun build/runner/test.copapy build/runner/test.copapy.bin && \ pytest && \ bash tools/create_asm.sh" @@ -242,16 +246,19 @@ jobs: - name: Use ARMv7 container run: | docker run --rm -v $PWD:/app -w /app --platform linux/arm/v7 ghcr.io/nonannet/armv7_test:1 \ - bash -lc "pip install .[mindev] && \ - mkdir -p build/runner && \ + bash -lc "set -x; \ + pip install .[mindev]; \ + mkdir -p build/runner; \ gcc -march=armv7-a -mfpu=neon-vfpv3 -mfloat-abi=hard -marm -static \ -Wall -Wextra -Wconversion -Wsign-conversion \ -Wshadow -Wstrict-overflow -O3 \ -DENABLE_LOGGING \ -o build/runner/coparun src/coparun/runmem.c \ - src/coparun/coparun.c src/coparun/mem_man.c && \ - export CP_TARGET_ARCH=armv7thumb && \ - pytest && \ + src/coparun/coparun.c src/coparun/mem_man.c; \ + export CP_TARGET_ARCH=armv7thumb; \ + python3 tools/make_example.py; \ + build/runner/coparun build/runner/test.copapy build/runner/test.copapy.bin; \ + pytest -m 'not runner'; \ bash tools/create_asm.sh" - uses: actions/upload-artifact@v4 @@ -276,16 +283,19 @@ jobs: - name: Use ARMv7 container run: | docker run --rm -v $PWD:/app -w /app --platform linux/arm/v7 ghcr.io/nonannet/armv7_test:1 \ - bash -lc "pip install .[mindev] && \ - mkdir -p build/runner && \ + bash -lc "set -x; \ + pip install .[mindev]; \ + mkdir -p build/runner; \ gcc -march=armv7-a -mfpu=neon-vfpv3 -mfloat-abi=hard -marm -static \ -Wall -Wextra -Wconversion -Wsign-conversion \ -Wshadow -Wstrict-overflow -O3 \ -DENABLE_LOGGING \ -o build/runner/coparun src/coparun/runmem.c \ - src/coparun/coparun.c src/coparun/mem_man.c && \ - export CP_TARGET_ARCH=armv7mthumb && \ - pytest && \ + src/coparun/coparun.c src/coparun/mem_man.c; \ + export CP_TARGET_ARCH=armv7mthumb; \ + python3 tools/make_example.py; \ + build/runner/coparun build/runner/test.copapy build/runner/test.copapy.bin; \ + pytest -m 'not runner'; \ bash tools/create_asm.sh" - uses: actions/upload-artifact@v4 diff --git a/tools/test_example_code.sh b/tools/test_example_code.sh new file mode 100755 index 0000000..7b0c054 --- /dev/null +++ b/tools/test_example_code.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +# Build arm-v7 runner and stencils +bash tools/build.sh arm-v7 + +# Build arm-v7-thumb stencils +bash tools/build.sh arm-v7-thumb + +# Build arm-v7-thumb example code +export CP_TARGET_ARCH=armv7thumb +python3 tools/make_example.py +build/runner/coparun-armv7 build/runner/test.copapy build/runner/test.copapy.bin + +arm-none-eabi-objdump -D -b binary -marm -M force-thumb --adjust-vma=0x1000000 build/runner/test.copapy.bin > build/runner/test.copapy-example-armv7thumb.asm + +# Build arm-v7-thumb example code +export CP_TARGET_ARCH=armv7 +python3 tools/make_example.py +build/runner/coparun-armv7 build/runner/test.copapy build/runner/test.copapy.bin + +arm-none-eabi-objdump -D -b binary -marm --adjust-vma=0x1000000 build/runner/test.copapy.bin > build/runner/test.copapy-example-armv7.asm \ No newline at end of file