From 13aec3d1035c591caa2816822d938a6ff8cebf5d Mon Sep 17 00:00:00 2001 From: maehw Date: Sun, 14 Jan 2024 12:37:29 +0100 Subject: [PATCH 01/17] Create dummy CI workflow --- .github/workflows/main.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..6a1d4bf --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,13 @@ +name: Build gbinterceptor +on: + push: + pull_request: +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@main + - name: Build + run: | + echo "Test" From 314e32ae231c7348e7dca24f6569ac073d985e9c Mon Sep 17 00:00:00 2001 From: maehw Date: Sun, 14 Jan 2024 12:40:57 +0100 Subject: [PATCH 02/17] Try to build firmware in CI pipeline using CMake + ninja --- .github/workflows/main.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6a1d4bf..3da895c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,4 +1,4 @@ -name: Build gbinterceptor +name: Build gbinterceptor firmware on: push: pull_request: @@ -8,6 +8,12 @@ jobs: steps: - name: Checkout uses: actions/checkout@main - - name: Build + - name: Build firmware run: | - echo "Test" + pwd + ls -al + git clone https://github.com/raspberrypi/pico-sdk --recurse-submodules + cd ./firmware + mkdir build && cd build + cmake .. -G Ninja -DPICO_SDK_PATH=../../pico-sdk + ninja From a99779164268c03ad403fbff73be8ebd2354c464 Mon Sep 17 00:00:00 2001 From: maehw Date: Sun, 14 Jan 2024 12:45:54 +0100 Subject: [PATCH 03/17] Update main.yml: install arm-none-eabi-gcc toolchain --- .github/workflows/main.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3da895c..23dc53d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -10,8 +10,7 @@ jobs: uses: actions/checkout@main - name: Build firmware run: | - pwd - ls -al + apt install arm-none-eabi-gcc git clone https://github.com/raspberrypi/pico-sdk --recurse-submodules cd ./firmware mkdir build && cd build From 191ad471fb5ff7b54d582babf8cfe87c3625d52b Mon Sep 17 00:00:00 2001 From: maehw Date: Sun, 14 Jan 2024 12:48:23 +0100 Subject: [PATCH 04/17] Update main.yml: try to install toolchain once again --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 23dc53d..247a22f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -10,7 +10,7 @@ jobs: uses: actions/checkout@main - name: Build firmware run: | - apt install arm-none-eabi-gcc + sudo apt install -y arm-none-eabi-gcc git clone https://github.com/raspberrypi/pico-sdk --recurse-submodules cd ./firmware mkdir build && cd build From 40d277a7be058dddae17fd9f51db779a73345632 Mon Sep 17 00:00:00 2001 From: maehw Date: Sun, 14 Jan 2024 14:12:32 +0100 Subject: [PATCH 05/17] Update main.yml --- .github/workflows/main.yml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 247a22f..d56888e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -6,12 +6,17 @@ jobs: build: runs-on: ubuntu-latest steps: - - name: Checkout - uses: actions/checkout@main - - name: Build firmware + - name: Bananas + uses: carlosperate/arm-none-eabi-gcc-action@v1 + - name: Install arm-none-eabi-gcc + run: | + wget https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 + arm-none-eabi-gcc --version + - name: Install pico-sdk run: | - sudo apt install -y arm-none-eabi-gcc git clone https://github.com/raspberrypi/pico-sdk --recurse-submodules + - name: Build firmware + run: | cd ./firmware mkdir build && cd build cmake .. -G Ninja -DPICO_SDK_PATH=../../pico-sdk From 0564761706e84d75bcf3f31fca731251ab883e28 Mon Sep 17 00:00:00 2001 From: maehw Date: Sun, 14 Jan 2024 14:13:43 +0100 Subject: [PATCH 06/17] Update main.yml --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d56888e..7bdd623 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -6,8 +6,8 @@ jobs: build: runs-on: ubuntu-latest steps: - - name: Bananas - uses: carlosperate/arm-none-eabi-gcc-action@v1 + - name: Checkout + uses: actions/checkout@main - name: Install arm-none-eabi-gcc run: | wget https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 From fa484671a0ef78cb52dd8709582681a615b4b49e Mon Sep 17 00:00:00 2001 From: maehw Date: Sun, 14 Jan 2024 14:17:31 +0100 Subject: [PATCH 07/17] Update main.yml --- .github/workflows/main.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7bdd623..6b75e2e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -11,6 +11,12 @@ jobs: - name: Install arm-none-eabi-gcc run: | wget https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 + sudo tar xjf gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 -C ./gcc-arm-none-eabi + sudo ln -s ./gcc-arm-none-eabi/bin/arm-none-eabi-gcc /usr/bin/arm-none-eabi-gcc + sudo ln -s ./gcc-arm-none-eabi/bin/arm-none-eabi-g++ /usr/bin/arm-none-eabi-g++ + sudo ln -s ./gcc-arm-none-eabi/bin/arm-none-eabi-gdb /usr/bin/arm-none-eabi-gdb + sudo ln -s ./gcc-arm-none-eabi/bin/arm-none-eabi-size /usr/bin/arm-none-eabi-size + sudo ln -s ./gcc-arm-none-eabi/bin/arm-none-eabi-objcopy /usr/bin/arm-none-eabi-objcopy arm-none-eabi-gcc --version - name: Install pico-sdk run: | From c2e2eb66b1946c541b1a91c37601ec37eac1ed06 Mon Sep 17 00:00:00 2001 From: maehw Date: Sun, 14 Jan 2024 14:19:12 +0100 Subject: [PATCH 08/17] Update main.yml --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6b75e2e..2215af3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -10,7 +10,8 @@ jobs: uses: actions/checkout@main - name: Install arm-none-eabi-gcc run: | - wget https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 + wget --quiet https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 + mkdir gcc-arm-none-eabi sudo tar xjf gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 -C ./gcc-arm-none-eabi sudo ln -s ./gcc-arm-none-eabi/bin/arm-none-eabi-gcc /usr/bin/arm-none-eabi-gcc sudo ln -s ./gcc-arm-none-eabi/bin/arm-none-eabi-g++ /usr/bin/arm-none-eabi-g++ From 2b650254c289e107ed10841e7188efbb44860648 Mon Sep 17 00:00:00 2001 From: maehw Date: Sun, 14 Jan 2024 14:23:38 +0100 Subject: [PATCH 09/17] Update main.yml --- .github/workflows/main.yml | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2215af3..3447b9f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,22 +8,13 @@ jobs: steps: - name: Checkout uses: actions/checkout@main - - name: Install arm-none-eabi-gcc - run: | - wget --quiet https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 - mkdir gcc-arm-none-eabi - sudo tar xjf gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 -C ./gcc-arm-none-eabi - sudo ln -s ./gcc-arm-none-eabi/bin/arm-none-eabi-gcc /usr/bin/arm-none-eabi-gcc - sudo ln -s ./gcc-arm-none-eabi/bin/arm-none-eabi-g++ /usr/bin/arm-none-eabi-g++ - sudo ln -s ./gcc-arm-none-eabi/bin/arm-none-eabi-gdb /usr/bin/arm-none-eabi-gdb - sudo ln -s ./gcc-arm-none-eabi/bin/arm-none-eabi-size /usr/bin/arm-none-eabi-size - sudo ln -s ./gcc-arm-none-eabi/bin/arm-none-eabi-objcopy /usr/bin/arm-none-eabi-objcopy - arm-none-eabi-gcc --version - - name: Install pico-sdk + - name: Clone pico-sdk dependency run: | git clone https://github.com/raspberrypi/pico-sdk --recurse-submodules - name: Build firmware + uses: carlosperate/arm-none-eabi-gcc-action@v1 run: | + arm-none-eabi-gcc --version cd ./firmware mkdir build && cd build cmake .. -G Ninja -DPICO_SDK_PATH=../../pico-sdk From 45159953c5f0cb0a24f28e544dd1ba44ab48c6be Mon Sep 17 00:00:00 2001 From: maehw Date: Sun, 14 Jan 2024 14:25:08 +0100 Subject: [PATCH 10/17] Update main.yml --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3447b9f..cc31012 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,11 +8,12 @@ jobs: steps: - name: Checkout uses: actions/checkout@main + - name: arm-none-eabi-gcc-action + uses: carlosperate/arm-none-eabi-gcc-action@v1 - name: Clone pico-sdk dependency run: | git clone https://github.com/raspberrypi/pico-sdk --recurse-submodules - name: Build firmware - uses: carlosperate/arm-none-eabi-gcc-action@v1 run: | arm-none-eabi-gcc --version cd ./firmware From 9c3f8669769fc6c3ade8c344dbad77bd0effb3b2 Mon Sep 17 00:00:00 2001 From: maehw Date: Sun, 14 Jan 2024 14:31:03 +0100 Subject: [PATCH 11/17] Update main.yml --- .github/workflows/main.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index cc31012..9e0f735 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,8 +8,10 @@ jobs: steps: - name: Checkout uses: actions/checkout@main - - name: arm-none-eabi-gcc-action + - name: Setup arm-none-eabi-gcc uses: carlosperate/arm-none-eabi-gcc-action@v1 + - name: Setup ninja + uses: seanmiddleditch/gha-setup-ninja@master - name: Clone pico-sdk dependency run: | git clone https://github.com/raspberrypi/pico-sdk --recurse-submodules From 5f68f5706679e62e8f9dfe7a82b567fd37090e6d Mon Sep 17 00:00:00 2001 From: maehw Date: Sun, 14 Jan 2024 14:40:14 +0100 Subject: [PATCH 12/17] Update main.yml: upload build artifacts --- .github/workflows/main.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9e0f735..0c89643 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -22,3 +22,10 @@ jobs: mkdir build && cd build cmake .. -G Ninja -DPICO_SDK_PATH=../../pico-sdk ninja + - name: 'Upload artifacts' + uses: actions/upload-artifact@v3 + with: + name: firmware + path: | + ./firmware/build/gb_interceptor.* + retention-days: 7 From 439a1e02d356a021846685493f52b629922158b6 Mon Sep 17 00:00:00 2001 From: maehw Date: Sun, 14 Jan 2024 15:55:40 +0100 Subject: [PATCH 13/17] Update main.yml: pin pico-sdk to a specific commit --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0c89643..0b72788 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -15,6 +15,7 @@ jobs: - name: Clone pico-sdk dependency run: | git clone https://github.com/raspberrypi/pico-sdk --recurse-submodules + git reset --hard 2e6142b - name: Build firmware run: | arm-none-eabi-gcc --version From 6c4c5cee5e0725af2ad376eee97631f665109158 Mon Sep 17 00:00:00 2001 From: maehw Date: Sun, 14 Jan 2024 16:00:42 +0100 Subject: [PATCH 14/17] Update main.yml: pin version of pico-sdk... not gbinterceptor --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0b72788..2063ce2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -15,7 +15,7 @@ jobs: - name: Clone pico-sdk dependency run: | git clone https://github.com/raspberrypi/pico-sdk --recurse-submodules - git reset --hard 2e6142b + cd pico-sdk && git reset --hard 2e6142b && cd .. - name: Build firmware run: | arm-none-eabi-gcc --version From 2ce27167931e50e511fd63641261cbe4742cf87c Mon Sep 17 00:00:00 2001 From: maehw Date: Sun, 14 Jan 2024 16:06:53 +0100 Subject: [PATCH 15/17] Update main.yml --- .github/workflows/main.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2063ce2..02b532a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -12,10 +12,11 @@ jobs: uses: carlosperate/arm-none-eabi-gcc-action@v1 - name: Setup ninja uses: seanmiddleditch/gha-setup-ninja@master - - name: Clone pico-sdk dependency + - name: Clone pico-sdk dependency (pinned versions of pico-sdk and tinyusb) run: | git clone https://github.com/raspberrypi/pico-sdk --recurse-submodules - cd pico-sdk && git reset --hard 2e6142b && cd .. + cd pico-sdk && sudo git reset --hard 2e6142b && cd .. + cd pico-sdk/lib/tinyusb && sudo git checkout 0.14.0 && cd ../../.. - name: Build firmware run: | arm-none-eabi-gcc --version From 98bf833a0739c44d38dcd6b36d4f5ef32d684e36 Mon Sep 17 00:00:00 2001 From: maehw Date: Mon, 15 Jan 2024 09:56:04 +0100 Subject: [PATCH 16/17] Update main.yml: pico-sdk 1.5.1, tinyusb 0.16.0 --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 02b532a..425400a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -15,8 +15,8 @@ jobs: - name: Clone pico-sdk dependency (pinned versions of pico-sdk and tinyusb) run: | git clone https://github.com/raspberrypi/pico-sdk --recurse-submodules - cd pico-sdk && sudo git reset --hard 2e6142b && cd .. - cd pico-sdk/lib/tinyusb && sudo git checkout 0.14.0 && cd ../../.. + cd pico-sdk && sudo git checkout tags/1.5.1 && cd .. + cd pico-sdk/lib/tinyusb && sudo git checkout 0.16.0 && cd ../../.. - name: Build firmware run: | arm-none-eabi-gcc --version From 05396edd6c95d2f80c1a7f67084b275a90b9b2df Mon Sep 17 00:00:00 2001 From: maehw Date: Mon, 15 Jan 2024 09:57:00 +0100 Subject: [PATCH 17/17] Update main.c: tinyusb bsp/board-related include files --- firmware/main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/firmware/main.c b/firmware/main.c index 51128e3..2921e9a 100644 --- a/firmware/main.c +++ b/firmware/main.c @@ -5,7 +5,8 @@ #include "pico/multicore.h" #include "pico/mutex.h" -#include "bsp/board.h" +#include "bsp/rp2040/board.h" +#include "bsp/board_api.h" #include "tusb.h" #include "usb_descriptors.h" #include "hardware/clocks.h"