From 96bc58f0ebdbc2b0a0d39abf7d809ef8dc584a87 Mon Sep 17 00:00:00 2001 From: Peter van der Perk Date: Wed, 28 Apr 2021 19:35:08 +0200 Subject: [PATCH] CMake Bloaty add static ram usage breakout --- .github/workflows/compile_nuttx.yml | 2 ++ Tools/bloaty_static_ram.bloaty | 13 +++++++++++++ cmake/bloaty.cmake | 7 +++++++ 3 files changed, 22 insertions(+) create mode 100644 Tools/bloaty_static_ram.bloaty diff --git a/.github/workflows/compile_nuttx.yml b/.github/workflows/compile_nuttx.yml index f16630e572..23ee6eaa41 100644 --- a/.github/workflows/compile_nuttx.yml +++ b/.github/workflows/compile_nuttx.yml @@ -123,6 +123,8 @@ jobs: run: make ${{matrix.config}} bloaty_symbols || true - name: make ${{matrix.config}} bloaty_templates run: make ${{matrix.config}} bloaty_templates || true + - name: make ${{matrix.config}} bloaty_ram + run: make ${{matrix.config}} bloaty_ram || true - name: make ${{matrix.config}} bloaty_compare_master run: make ${{matrix.config}} bloaty_compare_master || true - name: ccache post-run diff --git a/Tools/bloaty_static_ram.bloaty b/Tools/bloaty_static_ram.bloaty new file mode 100644 index 0000000000..5d6908075e --- /dev/null +++ b/Tools/bloaty_static_ram.bloaty @@ -0,0 +1,13 @@ +custom_data_source: { + name: "bloaty_static_ram" + base_data_source: "sections" + + rewrite: { + pattern: "^\\.bss" + replacement: "ram" + } + rewrite: { + pattern: "^\\.data" + replacement: "ram" + } +} diff --git a/cmake/bloaty.cmake b/cmake/bloaty.cmake index 7a0f25b48e..4092397f80 100644 --- a/cmake/bloaty.cmake +++ b/cmake/bloaty.cmake @@ -71,6 +71,13 @@ if (BLOATY_PROGRAM) USES_TERMINAL ) + # bloaty statically allocated RAM + add_custom_target(bloaty_ram + COMMAND ${BLOATY_PROGRAM} -c ${PX4_SOURCE_DIR}/Tools/bloaty_static_ram.bloaty -d bloaty_static_ram,compileunits --source-filter ^ram$ ${BLOATY_OPTS} $ + DEPENDS px4 + USES_TERMINAL + ) + # bloaty compare with last master build add_custom_target(bloaty_compare_master COMMAND wget -c -N --no-verbose https://s3.amazonaws.com/px4-travis/Firmware/master/${PX4_BOARD_VENDOR}_${PX4_BOARD_MODEL}_${PX4_BOARD_LABEL}.elf -O master.elf