@@ -294,30 +294,46 @@ jobs:
294294 fetch-depth : ' 0'
295295 - name : update-tools
296296 run : |
297- sudo apt install libncurses5 libpython2.7
297+ sudo apt update
298+ wget http://security.ubuntu.com/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
299+ sudo apt install ./libtinfo5_6.3-2ubuntu0.1_amd64.deb
300+ wget http://security.ubuntu.com/ubuntu/pool/universe/n/ncurses/libncursesw5_6.3-2ubuntu0.1_amd64.deb
301+ sudo apt install ./libncursesw5_6.3-2ubuntu0.1_amd64.deb
298302 mkdir -p emu_env && cd emu_env
299- wget --no-check-certificate https://armkeil.blob.core.windows.net/developer/ Files/downloads/gnu-rm/10.3-2021.10/gcc- arm-none-eabi-10.3-2021.10 -x86_64-linux .tar.bz2
300- tar -xvf gcc- arm-none-eabi-10.3-2021.10 -x86_64-linux .tar.bz2
301- wget --no-check-certificate https://github.com/xpack-dev-tools/qemu-arm-xpack/releases/download/v7.1.0 -1/xpack-qemu-arm-7.1.0 -1-linux-x64.tar.gz
302- tar -xvzf xpack-qemu-arm-7.1.0 -1-linux-x64.tar.gz
303+ wget --no-check-certificate https://developer.arm.com/-/media/ Files/downloads/gnu/13.3.rel1/binrel/ arm-gnu-toolchain-13.3.rel1 -x86_64-arm-none-eabi .tar.xz
304+ tar -xf arm-gnu-toolchain-13.3.rel1 -x86_64-arm-none-eabi .tar.xz
305+ wget --no-check-certificate https://github.com/xpack-dev-tools/qemu-arm-xpack/releases/download/v8.2.6 -1/xpack-qemu-arm-8.2.6 -1-linux-x64.tar.gz
306+ tar -xzf xpack-qemu-arm-8.2.6 -1-linux-x64.tar.gz
303307 working-directory : ./
304308 - name : build-example-stm32f429
305309 run : |
310+ PATH="${{ runner.workspace }}/soft_double/emu_env/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin:$PATH"
311+ echo 'Query arm-none-eabi-g++ version'
312+ echo
313+ arm-none-eabi-g++ -v
314+ echo
306315 mkdir -p bin
307- emu_env/gcc-arm-none-eabi-10.3-2021.10/bin/ arm-none-eabi-g++ -std=${{ matrix.standard }} -Werror -Wall -Wextra -Wpedantic -pedantic -O0 -g -gdwarf-2 -ffunction-sections -fdata-sections -x c++ -fno-rtti -fno-use-cxa-atexit -fno-exceptions -fno-nonansi-builtins -fno-threadsafe-statics -fno-enforce-eh-specs -ftemplate-depth=32 -mcpu=cortex-m4 -mtune=cortex-m4 -mthumb -mfloat-abi=soft -mno-unaligned-access -mno-long-calls -I. -DWIDE_INTEGER_STANDALONE_EXAMPLE010_HYPERGEOMETRIC_2F1 examples/example010_hypergeometric_2f1.cpp ./target/micros/stm32f429/make/single/crt.cpp -nostartfiles -Wl,--gc-sections -Wl,-Map,./bin/example010_hypergeometric_2f1.map -T ./target/micros/stm32f429/make/stm32f429.ld --specs=nano.specs --specs=nosys.specs -o ./bin/example010_hypergeometric_2f1.elf
308- emu_env/gcc-arm-none-eabi-10.3-2021.10/bin/ arm-none-eabi-objcopy ./bin/example010_hypergeometric_2f1.elf -O ihex ./bin/example010_hypergeometric_2f1.hex
316+ arm-none-eabi-g++ -std=${{ matrix.standard }} -Werror -Wall -Wextra -Wpedantic -pedantic -O0 -g -gdwarf-2 -ffunction-sections -fdata-sections -x c++ -fno-rtti -fno-use-cxa-atexit -fno-exceptions -fno-nonansi-builtins -fno-threadsafe-statics -fno-enforce-eh-specs -ftemplate-depth=32 -mcpu=cortex-m4 -mtune=cortex-m4 -mthumb -mfloat-abi=soft -mno-unaligned-access -mno-long-calls -I. -DWIDE_INTEGER_STANDALONE_EXAMPLE010_HYPERGEOMETRIC_2F1 examples/example010_hypergeometric_2f1.cpp ./target/micros/stm32f429/make/single/crt.cpp -nostartfiles -Wl,--gc-sections -Wl,-Map,./bin/example010_hypergeometric_2f1.map -T ./target/micros/stm32f429/make/stm32f429.ld --specs=nano.specs --specs=nosys.specs -o ./bin/example010_hypergeometric_2f1.elf
317+ arm-none-eabi-objcopy ./bin/example010_hypergeometric_2f1.elf -O ihex ./bin/example010_hypergeometric_2f1.hex
309318 ls -la ./bin/example010_hypergeometric_2f1.elf ./bin/example010_hypergeometric_2f1.hex ./bin/example010_hypergeometric_2f1.map
310319 working-directory : ./
311320 - name : emulate-target stm32f429
312321 run : |
313- ./emu_env/xpack-qemu-arm-7.1.0-1/bin/qemu-system-gnuarmeclipse --verbose --mcu STM32F429ZI --nographic --gdb tcp::9999 -d unimp,guest_errors &
322+ PATH="${{ runner.workspace }}/soft_double/emu_env/xpack-qemu-arm-8.2.6-1/bin:$PATH"
323+ qemu-system-gnuarmeclipse --verbose --mcu STM32F429ZI --nographic --gdb tcp::9999 -d unimp,guest_errors &
324+ sleep 2
314325 working-directory : ./
315326 - name : run-test-on-target
316327 run : |
317- ./emu_env/gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi-gdb-py ./bin/example010_hypergeometric_2f1.elf -x ./target/build/test_examples_emulator.py
318- qemu_result=$?
319- echo "qemu_result" "$qemu_result"
320- echo "qemu_result" "$qemu_result" | grep 'qemu_result 0'
328+ sleep 2
329+ PATH="${{ runner.workspace }}/soft_double/emu_env/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin:$PATH"
330+ echo 'Run test on target'
331+ echo
332+ arm-none-eabi-gdb ./bin/example010_hypergeometric_2f1.elf -x ./target/build/test_examples_emulator.gdb > ./example010_hypergeometric_2f1.txt
333+ cat ./example010_hypergeometric_2f1.txt
334+ echo
335+ echo 'We will now grep for the right answer...'
336+ grep 'value 0xF00DCAFE' ./example010_hypergeometric_2f1.txt
321337 working-directory : ./
322338 gcc-clang-boost-math-snippets :
323339 runs-on : ubuntu-latest
0 commit comments