A metronome using the FRDM K64F board

Committer:
ram54288
Date:
Sun May 14 18:40:18 2017 +0000
Revision:
0:a7a43371b306
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ram54288 0:a7a43371b306 1 #!/bin/bash
ram54288 0:a7a43371b306 2 # Copyright (c) 2016 ARM Limited. All rights reserved.
ram54288 0:a7a43371b306 3 # SPDX-License-Identifier: Apache-2.0
ram54288 0:a7a43371b306 4 # Licensed under the Apache License, Version 2.0 (the License); you may
ram54288 0:a7a43371b306 5 # not use this file except in compliance with the License.
ram54288 0:a7a43371b306 6 # You may obtain a copy of the License at
ram54288 0:a7a43371b306 7 #
ram54288 0:a7a43371b306 8 # * http://www.apache.org/licenses/LICENSE-2.0
ram54288 0:a7a43371b306 9 #
ram54288 0:a7a43371b306 10 # Unless required by applicable law or agreed to in writing, software
ram54288 0:a7a43371b306 11 # distributed under the License is distributed on an AS IS BASIS, WITHOUT
ram54288 0:a7a43371b306 12 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
ram54288 0:a7a43371b306 13 # See the License for the specific language governing permissions and
ram54288 0:a7a43371b306 14 # limitations under the License.
ram54288 0:a7a43371b306 15
ram54288 0:a7a43371b306 16 echo
ram54288 0:a7a43371b306 17 echo "Build mbed Client API for executable size collection"
ram54288 0:a7a43371b306 18 echo
ram54288 0:a7a43371b306 19
ram54288 0:a7a43371b306 20 BUILD_TARGET="frdm-k64f-armcc"
ram54288 0:a7a43371b306 21
ram54288 0:a7a43371b306 22 yt target $BUILD_TARGET
ram54288 0:a7a43371b306 23 yt build
ram54288 0:a7a43371b306 24
ram54288 0:a7a43371b306 25 SIZE_CMD="size --totals"
ram54288 0:a7a43371b306 26
ram54288 0:a7a43371b306 27 OUTPUT_PATH="results/"
ram54288 0:a7a43371b306 28 OUTPUT_FILE_POSTFIX="_${BUILD_TARGET}_size.txt"
ram54288 0:a7a43371b306 29
ram54288 0:a7a43371b306 30 MAIN_MODULE_NAME="mbed-client"
ram54288 0:a7a43371b306 31
ram54288 0:a7a43371b306 32 # yotta dependencies
ram54288 0:a7a43371b306 33 YOTTA_DEPS=(
ram54288 0:a7a43371b306 34 'cmsis-core'
ram54288 0:a7a43371b306 35 'cmsis-core-k64f'
ram54288 0:a7a43371b306 36 'core-util'
ram54288 0:a7a43371b306 37 'dlmalloc'
ram54288 0:a7a43371b306 38 'greentea-client'
ram54288 0:a7a43371b306 39 'mbed-client-c'
ram54288 0:a7a43371b306 40 'mbed-client-mbed-os'
ram54288 0:a7a43371b306 41 'mbed-client-mbedtls'
ram54288 0:a7a43371b306 42 'mbed-drivers'
ram54288 0:a7a43371b306 43 'mbed-hal'
ram54288 0:a7a43371b306 44 'mbed-hal-frdm-k64f'
ram54288 0:a7a43371b306 45 'mbed-hal-k64f'
ram54288 0:a7a43371b306 46 'mbed-hal-ksdk-mcu'
ram54288 0:a7a43371b306 47 'mbedtls'
ram54288 0:a7a43371b306 48 'mbed-trace'
ram54288 0:a7a43371b306 49 'minar'
ram54288 0:a7a43371b306 50 'minar-platform-mbed'
ram54288 0:a7a43371b306 51 'nanostack-libservice'
ram54288 0:a7a43371b306 52 'sal'
ram54288 0:a7a43371b306 53 'sal-driver-lwip-k64f-eth'
ram54288 0:a7a43371b306 54 'sal-iface-eth'
ram54288 0:a7a43371b306 55 'sal-stack-lwip'
ram54288 0:a7a43371b306 56 'sockets'
ram54288 0:a7a43371b306 57 'ualloc'
ram54288 0:a7a43371b306 58 'uvisor-lib'
ram54288 0:a7a43371b306 59 )
ram54288 0:a7a43371b306 60
ram54288 0:a7a43371b306 61
ram54288 0:a7a43371b306 62 # yotta dummy dependencies, which have different naming
ram54288 0:a7a43371b306 63 YOTTA_DUMMY_DEPS=(
ram54288 0:a7a43371b306 64 'cmsis-core-freescale'
ram54288 0:a7a43371b306 65 'compiler-polyfill'
ram54288 0:a7a43371b306 66 'mbed-hal-freescale'
ram54288 0:a7a43371b306 67 'minar-platform'
ram54288 0:a7a43371b306 68 )
ram54288 0:a7a43371b306 69
ram54288 0:a7a43371b306 70
ram54288 0:a7a43371b306 71 echo "Writing object file size informations to ${OUTPUT_PATH}"
ram54288 0:a7a43371b306 72
ram54288 0:a7a43371b306 73 # the "main" module is in build/<target>/source/<module>.ar
ram54288 0:a7a43371b306 74 ${SIZE_CMD} ./build/${BUILD_TARGET}/source/${MAIN_MODULE_NAME}.ar >${OUTPUT_PATH}${MAIN_MODULE_NAME}${OUTPUT_FILE_POSTFIX}
ram54288 0:a7a43371b306 75
ram54288 0:a7a43371b306 76 # these are the direct deps, found as build/<target>/ym/<module>/source/<module>.ar
ram54288 0:a7a43371b306 77 for MODULE in "${YOTTA_DEPS[@]}"
ram54288 0:a7a43371b306 78 do
ram54288 0:a7a43371b306 79 ${SIZE_CMD} ./build/${BUILD_TARGET}/ym/${MODULE}/source/${MODULE}.ar >${OUTPUT_PATH}${MODULE}${OUTPUT_FILE_POSTFIX}
ram54288 0:a7a43371b306 80 done
ram54288 0:a7a43371b306 81
ram54288 0:a7a43371b306 82 # dummy libs, which are named with different logic
ram54288 0:a7a43371b306 83 for MODULE in "${YOTTA_DUMMY_DEPS[@]}"
ram54288 0:a7a43371b306 84 do
ram54288 0:a7a43371b306 85 # on paths the "-" char needs to be converted to "_"
ram54288 0:a7a43371b306 86 MODULE_PATH=${MODULE//-/_}
ram54288 0:a7a43371b306 87 ${SIZE_CMD} ./build/${BUILD_TARGET}/ym/${MODULE}/yotta_dummy_lib_${MODULE_PATH}/${MODULE}.ar >${OUTPUT_PATH}${MODULE}${OUTPUT_FILE_POSTFIX}
ram54288 0:a7a43371b306 88 done