mirror of
https://github.com/azure-rtos/threadx
synced 2025-01-16 07:42:57 +08:00
80 lines
2.3 KiB
Bash
80 lines
2.3 KiB
Bash
|
#!/bin/bash
|
|||
|
|
|||
|
# There is only one tx_port.h file that covers three architectures: M3/M4/M7 and four tools: ac5/ac6/gnu/iar.
|
|||
|
# This file is in threadx/ports/armv7-m/inc. We are going to ignore GHS for now, but I’d like to get GHS unified as well.
|
|||
|
|
|||
|
set -e
|
|||
|
|
|||
|
ports_folder="ports"
|
|||
|
source_folder="ports_arch/ARMv7-M/threadx"
|
|||
|
target_mcu="cortex_m3 cortex_m4 cortex_m7"
|
|||
|
source_inc_folder="$source_folder/inc"
|
|||
|
target_inc_mcu=$target_mcu
|
|||
|
target_inc_ide="ac5 ac6 gnu iar keil"
|
|||
|
target_inc_folder="inc"
|
|||
|
source_src_ide="ac5 ac6 gnu iar"
|
|||
|
target_src_mcu=$target_mcu
|
|||
|
src_folder="src"
|
|||
|
readme="readme_threadx.txt"
|
|||
|
source_string="Cortex-Mx"
|
|||
|
target_string_pre="Cortex-M"
|
|||
|
|
|||
|
cd $(dirname `realpath $0`)/..
|
|||
|
|
|||
|
# Copy port files
|
|||
|
for mcu in $target_mcu;
|
|||
|
do
|
|||
|
for ide in $target_inc_ide;
|
|||
|
do
|
|||
|
# Copy files
|
|||
|
target=$ports_folder/$mcu/$ide/$target_inc_folder
|
|||
|
[ -d "$target" ] || continue
|
|||
|
echo "$source_inc_folder -> $target"
|
|||
|
rm -rf $target
|
|||
|
cp -rf $source_inc_folder $target
|
|||
|
|
|||
|
# String replacement
|
|||
|
mcu_string="$target_string_pre${mcu: -1}"
|
|||
|
if [ "$ide" == "keil" ];
|
|||
|
then
|
|||
|
ide_string="Keil"
|
|||
|
mcu_ide_string="$mcu_string\/$ide_string"
|
|||
|
else
|
|||
|
ide_string="${ide^^}"
|
|||
|
mcu_ide_string="$mcu_string\/$ide_string "
|
|||
|
fi
|
|||
|
sed -i "s/ $source_string /$mcu_ide_string/g" $target/*
|
|||
|
sed -i "s/ThreadX $source_string /ThreadX $mcu_string\/$ide_string /g" $target/*
|
|||
|
sed -i "s/$source_string/$mcu_string/g" $target/*
|
|||
|
done
|
|||
|
done
|
|||
|
echo ""
|
|||
|
|
|||
|
# Copy source files
|
|||
|
for ide in $source_src_ide;
|
|||
|
do
|
|||
|
for mcu in $target_src_mcu;
|
|||
|
do
|
|||
|
# Copy source files
|
|||
|
src=$source_folder/$ide/$src_folder
|
|||
|
target=$ports_folder/$mcu/$ide/$src_folder
|
|||
|
#[ -d "$target" ] || continue
|
|||
|
echo "$src -> $target"
|
|||
|
rm -rf $target
|
|||
|
cp -rf $src $target
|
|||
|
|
|||
|
# String replacement
|
|||
|
sed -i "s/$source_string/$target_string_pre${mcu: -1}/g" $target/*
|
|||
|
|
|||
|
# Copy readme files
|
|||
|
src=$source_folder/$ide/$readme
|
|||
|
target=$ports_folder/$mcu/$ide/$readme
|
|||
|
#[ -f "$target" ] || continue
|
|||
|
echo "$src -> $target"
|
|||
|
rm -f $target
|
|||
|
cp -f $src $target
|
|||
|
|
|||
|
# String replacement
|
|||
|
sed -i "s/$source_string/$target_string_pre${mcu: -1}/g" $target
|
|||
|
done
|
|||
|
done
|