mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
54 lines
1.8 KiB
Bash
Executable File
54 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
########################################################################################
|
|
# Install ARM GCC.
|
|
TOOLCHAIN="gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2"
|
|
TOOLCHAIN_PATH=${HOME}/cache/gcc
|
|
TOOLCHAIN_URL="https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/10-2020q4/${TOOLCHAIN}"
|
|
|
|
ci_install_arm_gcc_apt() {
|
|
sudo apt-get install gcc-arm-none-eabi libnewlib-arm-none-eabi
|
|
arm-none-eabi-gcc --version
|
|
}
|
|
|
|
ci_install_arm_gcc() {
|
|
mkdir -p ${TOOLCHAIN_PATH}
|
|
wget --no-check-certificate -O - ${TOOLCHAIN_URL} | tar --strip-components=1 -jx -C ${TOOLCHAIN_PATH}
|
|
export PATH=${TOOLCHAIN_PATH}/bin:${PATH}
|
|
arm-none-eabi-gcc --version
|
|
}
|
|
|
|
########################################################################################
|
|
# Update Submodules.
|
|
|
|
ci_update_submodules() {
|
|
git submodule update --init --depth=1 --no-single-branch
|
|
git -C src/micropython/ submodule update --init --depth=1
|
|
# (cd src/micropython/ && for remote in `git branch -r | grep -v /HEAD | grep -v master`; do git checkout --track $remote ; done)
|
|
}
|
|
|
|
########################################################################################
|
|
# Build Targets.
|
|
|
|
ci_build_target() {
|
|
export PATH=${TOOLCHAIN_PATH}/bin:${PATH}
|
|
make -j$(nproc) -C src/micropython/mpy-cross
|
|
make -j$(nproc) TARGET=${1} -C src
|
|
mkdir firmware
|
|
mv src/build/bin firmware/${1}
|
|
}
|
|
|
|
########################################################################################
|
|
# Prepare Firmware Packages.
|
|
|
|
ci_package_firmware_release() {
|
|
# Add WiFi firmware blobs
|
|
cp -rf src/drivers/cyw4343/firmware firmware/CYW4343
|
|
cp -rf src/drivers/winc1500/firmware firmware/WINC1500
|
|
(cd firmware && zip -r ../firmware_${1}.zip *)
|
|
}
|
|
|
|
ci_package_firmware_development() {
|
|
(cd firmware && for i in *; do zip -r -j "firmware_${i%/}.zip" "$i"; done)
|
|
}
|