forked from raspberrypi/pico-sdk
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2 from KarlK90/feature/update-pico-sdk-to-1.5.0
- Loading branch information
Showing
237 changed files
with
8,458 additions
and
1,892 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<packages> | ||
<package id="gcc-arm-embedded" version="10.2.1" /> | ||
<package id="cmake" version="3.25.2" installArguments="ADD_CMAKE_TO_PATH=System" /> | ||
<package id="mingw" version="12.2.0" /> | ||
<package id="ninja" version="1.11.1" /> | ||
</packages> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
name: Build on macOS | ||
on: | ||
workflow_dispatch: | ||
push: | ||
branches: | ||
- 'develop' | ||
- 'master' | ||
- 'test_workflow' | ||
|
||
jobs: | ||
build: | ||
runs-on: macos-12 | ||
steps: | ||
- name: Clean workspace | ||
run: | | ||
echo "Cleaning up previous run" | ||
rm -rf "${{ github.workspace }}" | ||
mkdir -p "${{ github.workspace }}" | ||
- name: Checkout repo | ||
uses: actions/checkout@v3 | ||
- name: Checkout submodules | ||
run: git submodule update --init | ||
- name: Install dependencies | ||
run: | | ||
brew install cmake | ||
brew tap ArmMbed/homebrew-formulae | ||
brew install arm-none-eabi-gcc | ||
- name: Build Project | ||
# bash required otherwise this mysteriously (no error) fails at "Generating cyw43_bus_pio_spi.pio.h" | ||
shell: bash | ||
run: | | ||
mkdir build | ||
cd build | ||
cmake .. -G "Unix Makefiles" -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Debug -DPICO_BOARD=pico_w | ||
cmake --build . | ||
- name: Build Native | ||
# bash required otherwise this mysteriously (no error) fails at "Generating cyw43_bus_pio_spi.pio.h" | ||
shell: bash | ||
run: | | ||
mkdir build_native | ||
cd build_native | ||
cmake .. -G "Unix Makefiles" -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Debug -DPICO_PLATFORM=host | ||
cmake --build . |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,169 @@ | ||
name: Multi GCC | ||
on: | ||
workflow_dispatch: | ||
push: | ||
branches: | ||
- 'master' | ||
- 'test_workflow' | ||
|
||
jobs: | ||
build: | ||
if: github.repository_owner == 'raspberrypi' | ||
runs-on: [self-hosted, Linux, X64] | ||
|
||
steps: | ||
- name: Clean workspace | ||
run: | | ||
echo "Cleaning up previous run" | ||
rm -rf "${{ github.workspace }}" | ||
mkdir -p "${{ github.workspace }}" | ||
- name: Checkout repo | ||
uses: actions/checkout@v2 | ||
|
||
- name: Checkout submodules | ||
run: git submodule update --init | ||
|
||
- name: Get core count | ||
id: core_count | ||
run : cat /proc/cpuinfo | grep processor | wc -l | ||
|
||
- name: GCC 6.2.1 Debug | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Debug -DPICO_TOOLCHAIN_PATH=/opt/arm/gcc-arm-none-eabi-6_2-2016q4 -DPICO_BOARD=pico_w; make -j ${{steps.core_count.outputs.output}} | ||
|
||
- name: GCC 6.2.1 Release | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Release -DPICO_TOOLCHAIN_PATH=/opt/arm/gcc-arm-none-eabi-6_2-2016q4 -DPICO_BOARD=pico_w; make -j ${{steps.core_count.outputs.output}} | ||
|
||
- name: GCC 6.3.1 Debug | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Debug -DPICO_TOOLCHAIN_PATH=/opt/arm/gcc-arm-none-eabi-6-2017-q2-update -DPICO_BOARD=pico_w; make -j ${{steps.core_count.outputs.output}} | ||
|
||
- name: GCC 6.3.1 Release | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Release -DPICO_TOOLCHAIN_PATH=/opt/arm/gcc-arm-none-eabi-6-2017-q2-update -DPICO_BOARD=pico_w; make -j ${{steps.core_count.outputs.output}} | ||
|
||
- name: GCC 7.2.1 Debug | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Debug -DPICO_TOOLCHAIN_PATH=/opt/arm/gcc-arm-none-eabi-7-2017-q4-major -DPICO_BOARD=pico_w; make -j ${{steps.core_count.outputs.output}} | ||
|
||
- name: GCC 7.2.1 Release | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Release -DPICO_TOOLCHAIN_PATH=/opt/arm/gcc-arm-none-eabi-7-2017-q4-major -DPICO_BOARD=pico_w; make -j ${{steps.core_count.outputs.output}} | ||
|
||
- name: GCC 7.3.1 Debug | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Debug -DPICO_TOOLCHAIN_PATH=/opt/arm/gcc-arm-none-eabi-7-2018-q2-update -DPICO_BOARD=pico_w; make -j ${{steps.core_count.outputs.output}} | ||
|
||
- name: GCC 7.3.1 Release | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Release -DPICO_TOOLCHAIN_PATH=/opt/arm/gcc-arm-none-eabi-7-2018-q2-update -DPICO_BOARD=pico_w; make -j ${{steps.core_count.outputs.output}} | ||
|
||
- name: GCC 8.2.1 Debug | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Debug -DPICO_TOOLCHAIN_PATH=/opt/arm/gcc-arm-none-eabi-8-2018-q4-major -DPICO_BOARD=pico_w; make -j ${{steps.core_count.outputs.output}} | ||
|
||
- name: GCC 8.2.1 Release | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Release -DPICO_TOOLCHAIN_PATH=/opt/arm/gcc-arm-none-eabi-8-2018-q4-major -DPICO_BOARD=pico_w; make -j ${{steps.core_count.outputs.output}} | ||
|
||
- name: GCC 8.3.1 Debug | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Debug -DPICO_TOOLCHAIN_PATH=/opt/arm/gcc-arm-none-eabi-8-2019-q3-update -DPICO_BOARD=pico_w; make -j ${{steps.core_count.outputs.output}} | ||
|
||
- name: GCC 8.3.1 Release | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Release -DPICO_TOOLCHAIN_PATH=/opt/arm/gcc-arm-none-eabi-8-2019-q3-update -DPICO_BOARD=pico_w; make -j ${{steps.core_count.outputs.output}} | ||
|
||
- name: GCC 9.2.1 Debug | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Debug -DPICO_TOOLCHAIN_PATH=/opt/arm/gcc-arm-none-eabi-9-2019-q4-major -DPICO_BOARD=pico_w; make -j ${{steps.core_count.outputs.output}} | ||
|
||
- name: GCC 9.2.1 Release | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Release -DPICO_TOOLCHAIN_PATH=/opt/arm/gcc-arm-none-eabi-9-2019-q4-major -DPICO_BOARD=pico_w; make -j ${{steps.core_count.outputs.output}} | ||
|
||
- name: GCC 9.3.1 Debug | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Debug -DPICO_TOOLCHAIN_PATH=/opt/arm/gcc-arm-none-eabi-9-2020-q2-update -DPICO_BOARD=pico_w; make -j ${{steps.core_count.outputs.output}} | ||
|
||
- name: GCC 9.3.1 Release | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Release -DPICO_TOOLCHAIN_PATH=/opt/arm/gcc-arm-none-eabi-9-2020-q2-update -DPICO_BOARD=pico_w; make -j ${{steps.core_count.outputs.output}} | ||
|
||
- name: GCC 10.2.1 Debug | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Debug -DPICO_TOOLCHAIN_PATH=/opt/arm/gcc-arm-none-eabi-10-2020-q4-major -DPICO_BOARD=pico_w; make -j ${{steps.core_count.outputs.output}} | ||
|
||
- name: GCC 10.2.1 Release | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Release -DPICO_TOOLCHAIN_PATH=/opt/arm/gcc-arm-none-eabi-10-2020-q4-major -DPICO_BOARD=pico_w; make -j ${{steps.core_count.outputs.output}} | ||
|
||
- name: GCC 10.3.1 Debug | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Debug -DPICO_TOOLCHAIN_PATH=/opt/arm/gcc-arm-none-eabi-10.3-2021.10 -DPICO_BOARD=pico_w; make -j ${{steps.core_count.outputs.output}} | ||
|
||
- name: GCC 10.3.1 Release | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Release -DPICO_TOOLCHAIN_PATH=/opt/arm/gcc-arm-none-eabi-10.3-2021.10 -DPICO_BOARD=pico_w; make -j ${{steps.core_count.outputs.output}} | ||
|
||
- name: GCC 11.2.1 Debug | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Debug -DPICO_TOOLCHAIN_PATH=/opt/arm/gcc-arm-11.2-2022.02-x86_64-arm-none-eabi -DPICO_BOARD=pico_w; make -j ${{steps.core_count.outputs.output}} | ||
|
||
- name: GCC 11.2.1 Release | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Release -DPICO_TOOLCHAIN_PATH=/opt/arm/gcc-arm-11.2-2022.02-x86_64-arm-none-eabi -DPICO_BOARD=pico_w; make -j ${{steps.core_count.outputs.output}} | ||
|
||
- name: GCC 11.3.1 Debug | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Debug -DPICO_TOOLCHAIN_PATH=/opt/arm/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-eabi -DPICO_BOARD=pico_w; make -j ${{steps.core_count.outputs.output}} | ||
|
||
- name: GCC 11.3.1 Release | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Release -DPICO_TOOLCHAIN_PATH=/opt/arm/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-eabi -DPICO_BOARD=pico_w; make -j ${{steps.core_count.outputs.output}} | ||
|
||
- name: GCC 12.2.1 Debug | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Debug -DPICO_TOOLCHAIN_PATH=/opt/arm/arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi -DPICO_BOARD=pico_w; make -j ${{steps.core_count.outputs.output}} | ||
|
||
- name: GCC 12.2.1 Release | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Release -DPICO_TOOLCHAIN_PATH=/opt/arm/arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi -DPICO_BOARD=pico_w; make -j ${{steps.core_count.outputs.output}} | ||
|
||
- name: Native Debug | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Debug -DPICO_PLATFORM=host; make -j ${{steps.core_count.outputs.output}} | ||
|
||
- name: Native Release | ||
if: always() | ||
shell: bash | ||
run: cd ${{github.workspace}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Release -DPICO_PLATFORM=host; make -j ${{steps.core_count.outputs.output}} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
#!/usr/bin/env python3 | ||
|
||
import os | ||
from collections import OrderedDict | ||
import subprocess | ||
import re | ||
|
||
toolchain_dir = "/opt/arm" | ||
toolchains = os.listdir(toolchain_dir) | ||
|
||
gcc_versions = OrderedDict() | ||
|
||
for toolchain in toolchains: | ||
fullpath = os.path.join(toolchain_dir, toolchain) | ||
gcc_path = os.path.join(fullpath, "bin/arm-none-eabi-gcc") | ||
version = subprocess.run([gcc_path, "--version"], capture_output=True) | ||
stdout = version.stdout.decode('utf-8') | ||
stderr = version.stderr.decode('utf-8') | ||
assert(len(stderr) == 0) | ||
# Version should be on first line | ||
version_line = stdout.split("\n")[0] | ||
m = re.search("(\d+\.\d+\.\d+)", version_line) | ||
assert(m is not None) | ||
version = m.group(1) | ||
|
||
if version in gcc_versions: | ||
raise Exception("Already have version {} in versions current path {}, this path {}".format(version, gcc_versions[version], fullpath)) | ||
|
||
gcc_versions[version] = fullpath | ||
|
||
# Sort by major version | ||
gcc_versions_sorted = OrderedDict(sorted(gcc_versions.items(), key=lambda item: int(item[0].replace(".", "")))) | ||
|
||
|
||
# Create output | ||
output = ''' | ||
name: Multi GCC | ||
on: | ||
workflow_dispatch: | ||
push: | ||
branches: | ||
- 'develop' | ||
- 'master' | ||
jobs: | ||
build: | ||
if: github.repository_owner == 'raspberrypi' | ||
runs-on: [self-hosted, Linux, X64] | ||
steps: | ||
- name: Clean workspace | ||
run: | | ||
echo "Cleaning up previous run" | ||
rm -rf "${{ github.workspace }}" | ||
mkdir -p "${{ github.workspace }}" | ||
- name: Checkout repo | ||
uses: actions/checkout@v2 | ||
- name: Checkout submodules | ||
run: git submodule update --init | ||
- name: Get core count | ||
id: core_count | ||
run : cat /proc/cpuinfo | grep processor | wc -l | ||
''' | ||
|
||
for gcc_version, toolchain_path in gcc_versions_sorted.items(): | ||
for build_type in ["Debug", "Release"]: | ||
output += "\n" | ||
output += " - name: GCC {} {}\n".format(gcc_version, build_type) | ||
output += " if: always()\n" | ||
output += " shell: bash\n" | ||
output += " run: cd ${{{{github.workspace}}}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE={} -DPICO_TOOLCHAIN_PATH={} -DPICO_BOARD=pico_w; make -j ${{{{steps.core_count.outputs.output}}}}\n".format(build_type, toolchain_path) | ||
|
||
print(output) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
name: Build on Windows | ||
on: | ||
workflow_dispatch: | ||
push: | ||
branches: | ||
- 'develop' | ||
- 'master' | ||
- 'test_workflow' | ||
|
||
jobs: | ||
build: | ||
runs-on: windows-2022 | ||
steps: | ||
- name: Clean workspace | ||
shell: bash | ||
run: | | ||
echo "Cleaning up previous run" | ||
rm -rf "${{ github.workspace }}/pico-sdk" | ||
- name: Checkout repo | ||
uses: actions/checkout@v3 | ||
- name: Checkout submodules | ||
run: git submodule update --init | ||
- name: Install dependencies | ||
run: choco install .github/workflows/choco_packages.config | ||
|
||
- name: Build Project | ||
# bash required otherwise this mysteriously (no error) fails at "Generating cyw43_bus_pio_spi.pio.h" | ||
shell: bash | ||
run: | | ||
mkdir build | ||
cd build | ||
cmake .. -G Ninja -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Debug -DPICO_BOARD=pico_w | ||
cmake --build . |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
# ATTENTION! THIS IS THE QMK FORK OF PICO SDK WHICH REMOVES TINYUSB, CYW43-DRIVER and LWIP SUBMODULES. ALL USB FUNCTIONALITY IS HANDLED BY THE CHIBIOS USB STACK! | ||
# ATTENTION! THIS IS THE QMK FORK OF PICO SDK WHICH REMOVES TINYUSB, CYW43-DRIVER, LWIP, MBEDTLS AND BTSTACK SUBMODULES. ALL USB FUNCTIONALITY IS HANDLED BY THE CHIBIOS USB STACK! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.