Files
SDK_GD32W51x/MBL/Project/mbl_afterbuild.sh
gaoyang3513 cc9e198164 [修改] MBL、NSPE支持Linux下make编译
[详细说明]
    1. 增加build_date.sh支持编译时间生成;
    2. 增加xxx_afterbuild.sh脚本,支持elf文件生成;
    3. MBL修改Project目录大小写错误导致的编译失败问题;
    4. 修改头文件目录分隔符心解决编译失败问题;
2023-06-13 15:53:18 +00:00

41 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
#set -x
#echo "Args: $@"
OUTPUT_PATH=$1
OUTPUT_NAME=$2
TOOLKIT=$3
TOOLKIT_PATH=$4
OUTPUT_PATH=${OUTPUT_PATH%/}
ROOT=$(realpath ${OUTPUT_PATH}/../../../../..)
SREC_CAT=/usr/bin/srec_cat
OUTPUT_IMAGE_PATH=${ROOT}/scripts/images
if [ "${TOOLKIT}" == "KEIL" ]; then
# Generate txt for debug
${TOOLKIT_PATH}/ARM/ARMCC/bin/fromelf.exe --text -c -d --output=${OUTPUT_PATH}/../${OUTPUT_NAME}.txt ${OUTPUT_PATH}/${OUTPUT_NAME}.axf
# Generate binary image
%TOOLKIT_PATH%/ARM/ARMCC/bin/fromelf.exe --bin --8x1 --bincombined --output=${OUTPUT_PATH}/../${OUTPUT_NAME}.bin ${OUTPUT_PATH}/${OUTPUT_NAME}.axf
elif [ "${TOOLKIT}" == "IAR" ]; then
# Generate ASM file
%TOOLKIT_PATH%/bin/ielfdumparm.exe ${OUTPUT_PATH}/${OUTPUT_NAME}.axf --output ${OUTPUT_PATH}/../${OUTPUT_NAME}.asm --code
# Generate binary image
%TOOLKIT_PATH%/bin/ielftool.exe ${OUTPUT_PATH}/${OUTPUT_NAME}.axf --bin ${OUTPUT_PATH}/../${OUTPUT_NAME}.bin
elif [ "${TOOLKIT}" == "GCC" ]; then
arm-none-eabi-objdump -xS ${OUTPUT_PATH}/${OUTPUT_NAME}.axf > ${OUTPUT_PATH}/../${OUTPUT_NAME}.txt
arm-none-eabi-objcopy -Obinary ${OUTPUT_PATH}/${OUTPUT_NAME}.axf ${OUTPUT_PATH}/../${OUTPUT_NAME}.bin
fi
mkdir -p ${OUTPUT_IMAGE_PATH}
if [ -n "$(ls ${OUTPUT_IMAGE_PATH}/${OUTPUT_NAME}*)" ]; then
rm -rf ${OUTPUT_IMAGE_PATH}/${OUTPUT_NAME}*
fi
# Copy to output image path
cp ${OUTPUT_PATH}/../${OUTPUT_NAME}.bin ${OUTPUT_IMAGE_PATH}
# Generate Hex file
${SREC_CAT} ${OUTPUT_IMAGE_PATH}/${OUTPUT_NAME}.bin -Binary -offset 0x0C000000 -o ${OUTPUT_IMAGE_PATH}/${OUTPUT_NAME}.hex -Intel