46 lines
1.2 KiB
Bash
Executable File
46 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
|
BASE_DIR="$( realpath "$DIR/../../../" )"
|
|
|
|
echo "== freeRTOS Build =="
|
|
|
|
# Add xtensa compiler to path
|
|
export PATH=$PATH:$IDF_PATH/xtensa-esp32-elf/bin
|
|
|
|
mkdir -p build_freertos && cd build_freertos
|
|
|
|
CMAKE_ARGS="-DCMAKE_BUILD_TYPE=Debug \
|
|
-DUA_ENABLE_AMALGAMATION=OFF \
|
|
-DCMAKE_TOOLCHAIN_FILE=${IDF_PATH}/tools/cmake/toolchain-esp32.cmake \
|
|
-DUA_ARCHITECTURE=freertosLWIP \
|
|
-DUA_ARCH_EXTRA_INCLUDES=${IDF_PATH}/components/freertos/include/freertos \
|
|
-DUA_BUILD_EXAMPLES=OFF"
|
|
|
|
|
|
# We first need to call cmake separately to generate the required source code. Then we can call the freeRTOS CMake
|
|
mkdir lib && cd lib
|
|
cmake \
|
|
${CMAKE_ARGS} \
|
|
${BASE_DIR}
|
|
if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
|
make -j open62541-code-generation
|
|
if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
|
# Now call the freeRTOS CMake with same arguments
|
|
cd ..
|
|
|
|
cmake \
|
|
${CMAKE_ARGS} \
|
|
${BASE_DIR}/tools/azure-devops/freeRTOS/
|
|
if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
|
# NOTE!!!
|
|
# If you came here to see how to build your own version for the ESP32,
|
|
# make sure to call `make menuconfig` first and configure the options.
|
|
|
|
make hello-world.elf
|
|
if [ $? -ne 0 ] ; then exit 1 ; fi
|