From c602b9c759a907bb3f0371df0c50d955309726d1 Mon Sep 17 00:00:00 2001 From: Damian Date: Wed, 23 Aug 2023 16:36:22 +0200 Subject: [PATCH] scripts: remove unused mkimg scripts JIRA: RTOS-570 --- scripts/mkimg-app-stm32.sh | 156 ------------------------------------- scripts/mkimg-imxrt.sh | 127 ------------------------------ scripts/mkimg-stm32.sh | 127 ------------------------------ 3 files changed, 410 deletions(-) delete mode 100755 scripts/mkimg-app-stm32.sh delete mode 100755 scripts/mkimg-imxrt.sh delete mode 100755 scripts/mkimg-stm32.sh diff --git a/scripts/mkimg-app-stm32.sh b/scripts/mkimg-app-stm32.sh deleted file mode 100755 index e66350dc..00000000 --- a/scripts/mkimg-app-stm32.sh +++ /dev/null @@ -1,156 +0,0 @@ -#!/usr/bin/env bash -# Phoenix-RTOS -# -# Operating system kernel -# -# Creates syspage for STM32 based on given apps. -# -# Copyright 2017 Phoenix Systems -# Author: Aleksander Kaminski -# -# This file is part of Phoenix-RTOS. - -# This script creates image of syspage and aplications for STM32 platform -# Usage: -# $1 - path to Phoenix-RTOS kernel ELF -# $2 - application(s) ELFs -# example: ./mkimg-stm32.sh phoenix-armv7-stm32.elf app1.elf app2.elf ... - -CROSS="arm-phoenix-" - -OUTPUT="../app.flash" -SIZE_PAGE=$((0x200)) -APP_START=$((0)) - -declare -i i -declare -i k - -i=$((0)) - -rm -f *.img -rm -f syspage.hex syspage.bin -rm -f $OUTPUT - -printf "%08x %08x\n" $i 0 >> syspage.hex #stack -i=$i+4 -printf "%08x %08x\n" $i 0 >> syspage.hex #stacksize -i=$i+4 -printf "%08x %08x\n" $i $((`echo $@ | wc -w`)) >> syspage.hex #progssz -i=$i+4 - -#Find syspage size first -SYSPAGESZ=$i -for app in $@; do - SYSPAGESZ=$SYSPAGESZ+20 - SEGMENTS=`readelf -l $app | grep "LOAD" | wc -l` - - for (( j=1; j<=$SEGMENTS; j++ )); do - SYSPAGESZ=$SYSPAGESZ+24 - done -done -SYSPAGESZ=$((($SYSPAGESZ+$SIZE_PAGE-1)&$((0xffffff00)))) - -OFFSET=$(($APP_START+$SYSPAGESZ)) - -for app in $@; do - echo "Proccessing $app" - k=0 - - ENTRY=$((`readelf -l $app | grep "Entry point" | awk '{ print $3 }'`)) - ENTRY=$(($ENTRY+$OFFSET-$APP_START-$(($i-$k)))) - printf "%08x %08x\n" $i $ENTRY >> syspage.hex #entry - i=$i+4 - k=$k+4 - - SEGMENTS=`readelf -l $app | grep "LOAD" | wc -l` - printf "%08x %08x\n" $i $SEGMENTS >> syspage.hex #hdrssz - i=$i+4 - k=$k+4 - - printf "%08x " $i >> syspage.hex - echo `readelf -S $app | grep ".got" | awk '{ print $5 }'` >> syspage.hex - i=$i+4 - k=$k+4 - - printf "%08x " $i >> syspage.hex - echo -n "00" >> syspage.hex - echo `readelf -S $app | grep ".got" | awk '{ print $7 }'` >> syspage.hex - i=$i+4 - k=$k+4 - - printf "%08x %08x\n" $i $(($OFFSET-$APP_START-$(($i-$k)))) >> syspage.hex - i=$i+4 - k=$k+4 - - printf "%08x %08x\n" $i 0 >> syspage.hex #cmdline - i=$i+4 - k=$k+4 - - for (( j=1; j<=$SEGMENTS; j++ )); do - LINE=`readelf -l $app | grep "LOAD" | sed -n ${j}p` - - VIRTADDR=`echo $LINE | awk '{ print $3 }'` - PHYSADDR=`echo $LINE | awk '{ print $4 }'` - FILESIZE=`echo $LINE | awk '{ print $5 }'` - MEMSIZE=`echo $LINE | awk '{ print $6 }'` - ALIGN=`echo $LINE | rev | cut -d ' ' -f 1 | rev` - - FLAGS=`echo $LINE | grep -o '[RWE]' | tr -d '\n'` - FLAGSBIN=$((2)) - if [ `echo $FLAGS | grep "W"` ]; then - FLAGSBIN=$(($FLAGSBIN+1)) - fi - if [ `echo $FLAGS | grep "E"` ]; then - FLAGSBIN=$(($FLAGSBIN+4)) - PHYSADDR=$(($OFFSET-$APP_START-$(($i-$k)))) - else - PHYSADDR=$((0)) - fi - - printf "%08x %08x\n" $i $((PHYSADDR)) >> syspage.hex #addr - i=$i+4 - k=$k+4 - printf "%08x %08x\n" $i $((MEMSIZE)) >> syspage.hex #memsz - i=$i+4 - k=$k+4 - printf "%08x %08x\n" $i $((FLAGSBIN)) >> syspage.hex #flags - i=$i+4 - k=$k+4 - printf "%08x %08x\n" $i $((VIRTADDR)) >> syspage.hex #vaddr - i=$i+4 - k=$k+4 - printf "%08x %08x\n" $i $((FILESIZE)) >> syspage.hex #filesz - i=$i+4 - k=$k+4 - printf "%08x %08x\n" $i $((ALIGN)) >> syspage.hex #align - i=$i+4 - k=$k+4 - done - - ${CROSS}objcopy $app -O binary tmp.img - OFFSET=$((($OFFSET+$((`du -b tmp.img | cut -f1`))+$SIZE_PAGE-1)&$((0xffffff00)))) - rm -f tmp.img -done - -# Use hex file to create binary file -xxd -g4 -c4 -r syspage.hex > syspage.bin - -# Convert to little endian -objcopy --reverse-bytes=4 -I binary syspage.bin -O binary syspage.bin - -OFFSET=$((0)) -dd if="syspage.bin" of=$OUTPUT bs=1 seek=0 2>/dev/null -OFFSET=$(($OFFSET+$SYSPAGESZ)) - -for app in $@; do - ${CROSS}objcopy $app -O binary tmp.img - printf "App %s @offset 0x%08x\n" $app $OFFSET - dd if=tmp.img of=$OUTPUT bs=1 seek=$OFFSET 2>/dev/null - OFFSET=$((($OFFSET+$((`du -b tmp.img | cut -f1`))+$SIZE_PAGE-1)&$((0xffffff00)))) - rm -f tmp.img -done - -rm -f syspage.bin -rm -f syspage.hex - -echo "Image file ${OUTPUT:3} has been created" diff --git a/scripts/mkimg-imxrt.sh b/scripts/mkimg-imxrt.sh deleted file mode 100755 index bb96b14e..00000000 --- a/scripts/mkimg-imxrt.sh +++ /dev/null @@ -1,127 +0,0 @@ -#!/usr/bin/env bash -# Phoenix-RTOS -# -# Operating system kernel -# -# Creates syspage for i.MX RT based on given apps. -# -# Copyright 2017-2019 Phoenix Systems -# Author: Aleksander Kaminski -# -# This file is part of Phoenix-RTOS. - -# This script creates image of Phoenix-RTOS kernel, syspage and aplications for i.MX RT platform. -# Created image can be programmed directly to the device. -# Usage: -# $1 - path to Phoenix-RTOS kernel ELF -# $2 - kernel argument string -# $3 - output file name -# $4, ... - applications ELF(s) -# example: ./mkimg-imxrt.sh phoenix-armv7-imxrt.elf "Xapp1.elf Xapp2.elf" flash.img app1.elf app2.elf - -set -e - -reverse() { - local num=$1 i - for i in 1 2 3 4; do - printf "%02x" $(($num & 0xff)) - num=$(($num>>8)) - done -} - - -CROSS=${CROSS:-arm-phoenix-} - - -if [ "$1" == "-h" -o $# -lt 3 ]; then - echo "usage: $0 [[app] ... ]" - exit 1 -fi - -KERNELELF=$1 -KARGS=$2 -OUTPUT=$3 -shift 3 - -GDB_SYM_FILE="$(dirname ${OUTPUT})/gdb_symbols" - -STRIP_OPT="--strip-unneeded -R .symtab" - -SIZE_PAGE=$((0x200)) -PAGE_MASK=$((0xfffffe00)) -KERNEL_END=$(($(readelf -l $KERNELELF | awk '/LOAD/ && /R E/ { print $6 }'))) -FLASH_START=$((0x00000000)) -SYSPAGE_OFFSET=$((512)) - -rm -f *.img syspage.hex syspage.bin "$OUTPUT" - -prognum=$# - -reverse 0x20000000 >> syspage.hex -reverse 0x20040000 >> syspage.hex -reverse $(($FLASH_START + $SYSPAGE_OFFSET + 16 + ($prognum * 28))) >> syspage.hex -reverse $prognum >> syspage.hex - -OFFSET=$(($FLASH_START + $KERNEL_END)) -OFFSET=$((($OFFSET + $SIZE_PAGE - 1)&$PAGE_MASK)) - -for arg in "$@"; do - IFS=';' read -r app map <<< "$arg" - map=$(($map)) - echo "Proccessing $app" - - reverse $OFFSET >> syspage.hex #start - - cp $app tmp.elf - ${CROSS}strip $STRIP_OPT tmp.elf - echo "${CROSS}strip $STRIP_OPT tmp.elf" - SIZE=$(wc -c < tmp.elf) - rm -f tmp.elf - END=$(($OFFSET + $SIZE)) - reverse $END >> syspage.hex #end - reverse $map >> syspage.hex #mapno - - OFFSET=$((($OFFSET + $SIZE + $SIZE_PAGE - 1)&$PAGE_MASK)) - - app=${app##*/} - for ((j=0; j < 16; j++)); do - printf "%02x" \'${app:j:1} >> syspage.hex - done - -done - -# Kernel arg -echo -n $KARGS | xxd -p >> syspage.hex -echo -n "00" >> syspage.hex - -# Use hex file to create binary file -xxd -r -p syspage.hex > syspage.bin - -# Make kernel binary image -${CROSS}objcopy $KERNELELF -O binary $OUTPUT - -dd if="syspage.bin" of=$OUTPUT bs=1 seek=$SYSPAGE_OFFSET conv=notrunc 2>/dev/null - -OFFSET=$((($KERNEL_END + $SIZE_PAGE - 1)&$PAGE_MASK)) - -rm -f $GDB_SYM_FILE -printf "file %s \n" $(realpath $KERNELELF) > $GDB_SYM_FILE - -for arg in "$@"; do - app=${arg%%;*} - cp $app tmp.elf - ${CROSS}strip $STRIP_OPT tmp.elf - printf "App %s @offset 0x%08x\n" $app $OFFSET - ELFOFFS=$(($(readelf -l $app | awk '/LOAD/ && /R E/ { print $2 }'))) - printf "add-symbol-file %s 0x%08x\n" $(realpath $app) $((OFFSET + $FLASH_START + $ELFOFFS)) >> $GDB_SYM_FILE - dd if=tmp.elf of=$OUTPUT bs=1 seek=$OFFSET 2>/dev/null - OFFSET=$((($OFFSET + $(wc -c < tmp.elf) + $SIZE_PAGE - 1)&$PAGE_MASK)) - rm -f tmp.elf -done - -#Convert binary image to hex -${CROSS}objcopy --change-addresses $FLASH_START -I binary -O ihex ${OUTPUT} ${OUTPUT%.*}.hex - -rm -f syspage.bin syspage.hex - -echo "Image file $(basename ${OUTPUT}) has been created" diff --git a/scripts/mkimg-stm32.sh b/scripts/mkimg-stm32.sh deleted file mode 100755 index 12e865f0..00000000 --- a/scripts/mkimg-stm32.sh +++ /dev/null @@ -1,127 +0,0 @@ -#!/usr/bin/env bash -# Phoenix-RTOS -# -# Operating system kernel -# -# Creates syspage for STM32 based on given apps. -# -# Copyright 2017-2019 Phoenix Systems -# Author: Aleksander Kaminski -# -# This file is part of Phoenix-RTOS. - -# This script creates image of Phoenix-RTOS kernel, syspage and aplications for STM32 platform. -# Created image can be programmed directly to the device. -# Usage: -# $1 - path to Phoenix-RTOS kernel ELF -# $2 - kernel argument string -# $3 - output file name -# $4, ... - applications ELF(s) -# example: ./mkimg-stm32.sh phoenix-armv7-stm32.elf "argument" flash.img app1.elf app2.elf - -set -e - -reverse() { - local num=$1 i - for i in 1 2 3 4; do - printf "%02x" $(($num & 0xff)) - num=$(($num>>8)) - done -} - - -CROSS=${CROSS:-arm-phoenix-} - - -if [ "$1" == "-h" -o $# -lt 3 ]; then - echo "usage: $0 [[app] ... ]" - exit 1 -fi - -KERNELELF=$1 -KARGS=$2 -OUTPUT=$3 -shift 3 - -GDB_SYM_FILE="$(dirname ${OUTPUT})/gdb_symbols" - -STRIP_OPT="--strip-unneeded -R .symtab" - -SIZE_PAGE=$((0x800)) -PAGE_MASK=$((~($SIZE_PAGE-1))) -KERNEL_END=$(($(readelf -l $KERNELELF | awk '/LOAD/ && /R E/ { print $6 }'))) -FLASH_START=$((0x08000000)) -SYSPAGE_OFFSET=$((2048)) - -rm -f *.img syspage.hex syspage.bin $OUTPUT - -prognum=$# - -reverse 0x20000000 >> syspage.hex -reverse 0x20014000 >> syspage.hex -reverse $(($FLASH_START + $SYSPAGE_OFFSET + 16 + ($prognum * 28))) >> syspage.hex -reverse $prognum >> syspage.hex - -OFFSET=$(($FLASH_START + $KERNEL_END)) -OFFSET=$((($OFFSET + $SIZE_PAGE - 1)&$PAGE_MASK)) - -for arg in "$@"; do - IFS=';' read -r app map <<< "$arg" - map=$(($map)) - echo "Proccessing $app" - - reverse $OFFSET >> syspage.hex #start - - cp $app tmp.elf - ${CROSS}strip $STRIP_OPT tmp.elf - echo "${CROSS}strip $STRIP_OPT tmp.elf" - SIZE=$(wc -c < tmp.elf) - rm -f tmp.elf - END=$(($OFFSET + $SIZE)) - reverse $END >> syspage.hex #end - reverse $map >> syspage.hex #mapno - - OFFSET=$((($OFFSET + $SIZE + $SIZE_PAGE - 1)&$PAGE_MASK)) - - app=${app##*/} - for ((j=0; j < 16; j++)); do - printf "%02x" \'${app:j:1} >> syspage.hex - done - -done - -# Kernel arg -echo -n $KARGS | xxd -p >> syspage.hex -echo -n "00" >> syspage.hex - -# Use hex file to create binary file -xxd -r -p syspage.hex > syspage.bin - -# Make kernel binary image -${CROSS}objcopy $KERNELELF -O binary $OUTPUT - -dd if="syspage.bin" of=$OUTPUT bs=1 seek=$SYSPAGE_OFFSET conv=notrunc 2>/dev/null - -OFFSET=$((($KERNEL_END + $SIZE_PAGE - 1)&$PAGE_MASK)) - -rm -f $GDB_SYM_FILE -printf "file %s \n" $(realpath $KERNELELF) > $GDB_SYM_FILE - -for arg in "$@"; do - app=${arg%%;*} - cp $app tmp.elf - ${CROSS}strip $STRIP_OPT tmp.elf - printf "App %s @offset 0x%08x\n" $app $OFFSET - ELFOFFS=$(($(readelf -l $app | awk '/LOAD/ && /R E/ { print $2 }'))) - printf "add-symbol-file %s 0x%08x\n" $(realpath $app) $((OFFSET + $FLASH_START + $ELFOFFS)) >> $GDB_SYM_FILE - dd if=tmp.elf of=$OUTPUT bs=1 seek=$OFFSET 2>/dev/null - OFFSET=$((($OFFSET + $(wc -c < tmp.elf) + $SIZE_PAGE - 1)&$PAGE_MASK)) - rm -f tmp.elf -done - -#Convert binary image to hex -${CROSS}objcopy --change-addresses $FLASH_START -I binary -O ihex ${OUTPUT} ${OUTPUT%.*}.hex - -rm -f syspage.bin syspage.hex - -echo "Image file $(basename ${OUTPUT}) has been created"