summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhathach <[email protected]>2021-03-02 11:50:57 +0700
committerhathach <[email protected]>2021-03-02 11:50:57 +0700
commit71313d934d2258802a850cccecaf18f0cdccf386 (patch)
tree6c7412231563abb5187665e38b8ff438577194bf
parenta2366fce53196d49fb7b51606bf2c32be4203642 (diff)
update ci for msp430 family
-rw-r--r--.github/workflows/build.yml69
-rw-r--r--examples/rules.mk9
-rw-r--r--hw/bsp/msp430/family.mk7
3 files changed, 61 insertions, 24 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index f90a6843d..5da033cf8 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -61,8 +61,6 @@ jobs:
- name: Checkout TinyUSB
uses: actions/checkout@v2
- with:
- submodules: 'false'
- name: Checkout Submodules in lib
run: git submodule update --init lib
@@ -130,8 +128,33 @@ jobs:
with:
submodules: 'true'
- - name: Setup Env
+ - name: Install Toolchains
run: |
+ # ARM & RISC-V GCC from xpack
+ npm install --global xpm
+ xpm install --global @xpack-dev-tools/arm-none-eabi-gcc@latest
+ xpm install --global @xpack-dev-tools/riscv-none-embed-gcc@latest
+ echo `echo $HOME/.local/xPacks/@xpack-dev-tools/arm-none-eabi-gcc/*/.content/bin` >> $GITHUB_PATH
+ echo `echo $HOME/.local/xPacks/@xpack-dev-tools/riscv-none-embed-gcc/*/.content/bin` >> $GITHUB_PATH
+
+ - name: Build
+ run: python3 tools/build_board.py ${{ matrix.example }}
+
+ # build all example for each family
+ build-msp430:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Setup Python
+ uses: actions/setup-python@v2
+
+ - name: Checkout TinyUSB
+ uses: actions/checkout@v2
+
+ - name: Checkout Submodules in lib
+ run: git submodule update --init lib
+
+ - run: |
+ echo family=msp430 >> $GITHUB_ENV
# Add msp430-gcc url to env
echo >> $GITHUB_ENV MSP430_GCC_URL=http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPGCC/9_2_0_0/export/msp430-gcc-9.2.0.50_linux64.tar.bz2
@@ -140,31 +163,43 @@ jobs:
id: cache-msp430
with:
path: ~/cache/
- key: ${{ runner.os }}-21-01-26-${{ env.MSP430_GCC_URL }}
+ key: ${{ runner.os }}-21-03-02-${{ env.MSP430_GCC_URL }}
- name: Install MSP430-GCC
if: steps.cache-msp430.outputs.cache-hit != 'true'
run: |
- # MSP430 GCC
mkdir -p ~/cache/msp430-gcc
wget --progress=dot:mega $MSP430_GCC_URL -O msp430-gcc.tar.bz2
tar -C ~/cache/msp430-gcc -xaf msp430-gcc.tar.bz2
- - name: Install Toolchains
- run: |
- # ARM & RISC-V GCC from xpack
- npm install --global xpm
- xpm install --global @xpack-dev-tools/arm-none-eabi-gcc@latest
- xpm install --global @xpack-dev-tools/riscv-none-embed-gcc@latest
- echo `echo $HOME/.local/xPacks/@xpack-dev-tools/arm-none-eabi-gcc/*/.content/bin` >> $GITHUB_PATH
- echo `echo $HOME/.local/xPacks/@xpack-dev-tools/riscv-none-embed-gcc/*/.content/bin` >> $GITHUB_PATH
-
- # TI MSP430 GCC
- echo >> $GITHUB_PATH `echo ~/cache/msp430-gcc/msp430-gcc-*/bin`
+ - name: Set Toolchain Path
+ run: echo >> $GITHUB_PATH `echo ~/cache/msp430-gcc/msp430-gcc-*/bin`
- name: Build
- run: python3 tools/build_board.py ${{ matrix.example }}
+ run: python3 tools/build_family.py ${{ env.family }}
+
+ - uses: actions/upload-artifact@v2
+ with:
+ name: ${{ env.family }}-tinyusb-examples
+ path: _bin/
+ - name: Create Release Asset
+ if: ${{ github.event_name == 'release' }}
+ run: |
+ cd _bin/
+ zip -r ../${{ env.family }}-tinyusb-${{ github.event.release.tag_name }}-examples.zip *
+
+ - name: Upload Release Asset
+ uses: actions/upload-release-asset@v1
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ if: ${{ github.event_name == 'release' }}
+ with:
+ upload_url: ${{ github.event.release.upload_url }}
+ asset_path: ${{ env.family }}-tinyusb-${{ github.event.release.tag_name }}-examples.zip
+ asset_name: ${{ env.family }}-tinyusb-${{ github.event.release.tag_name }}-examples.zip
+ asset_content_type: application/zip
+
# Build ESP32S2
build-esp32s2:
runs-on: ubuntu-latest
diff --git a/examples/rules.mk b/examples/rules.mk
index 1d5a190fe..2b28a4714 100644
--- a/examples/rules.mk
+++ b/examples/rules.mk
@@ -100,12 +100,11 @@ INC += $(TOP)/src
CFLAGS += $(addprefix -I,$(INC))
-# TODO Skip nanolib for MSP430
-ifeq ($(BOARD), msp_exp430f5529lp)
- LDFLAGS += $(CFLAGS) -fshort-enums -Wl,-T,$(TOP)/$(LD_FILE) -Wl,[email protected] -Wl,-cref -Wl,-gc-sections
-else
- LDFLAGS += $(CFLAGS) -fshort-enums -Wl,-T,$(TOP)/$(LD_FILE) -Wl,[email protected] -Wl,-cref -Wl,-gc-sections -specs=nosys.specs -specs=nano.specs
+LDFLAGS += $(CFLAGS) -fshort-enums -Wl,-T,$(TOP)/$(LD_FILE) -Wl,[email protected] -Wl,-cref -Wl,-gc-sections
+ifneq ($(SKIP_NANOLIB), 1)
+LDFLAGS += -specs=nosys.specs -specs=nano.specs
endif
+
ASFLAGS += $(CFLAGS)
# Assembly files can be name with upper case .S, convert it to .s
diff --git a/hw/bsp/msp430/family.mk b/hw/bsp/msp430/family.mk
index 870b27165..a982c2866 100644
--- a/hw/bsp/msp430/family.mk
+++ b/hw/bsp/msp430/family.mk
@@ -1,3 +1,7 @@
+CROSS_COMPILE = msp430-elf-
+FAMILY_SUBMODULES = hw/mcu/ti
+SKIP_NANOLIB = 1
+
CFLAGS += \
-D__MSP430F5529__ \
-DCFG_TUSB_MCU=OPT_MCU_MSP430x5xx \
@@ -6,8 +10,7 @@ CFLAGS += \
#-mmcu=msp430f5529
-# Cross Compiler for MSP430
-CROSS_COMPILE = msp430-elf-
+
# All source paths should be relative to the top level.
LD_FILE = hw/mcu/ti/msp430/msp430-gcc-support-files/include/msp430f5529.ld